home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-11-27 | 229.7 KB | 5,268 lines |
- MUSIC X
-
- Typed by RON of LAG. Edited by PARASITE.
- NOTE: If the illustrations look odd, its because this document was full
- of control codes, so dont blame me!
-
-
- SEQUENCER PAGE
-
- OVERVIEW
- The Sequencer Page can be considered the primary page in Music-X;
- Music-X's primary job is to be a MIDI sequencer, and the Sequencer Page
- contains the features that allow it to do that.
-
- The basic idea behind a MIDI sequencer is to provide a way for a
- composer to record instrument parts one by one, edit them to
- satisfaction, and play them back together on MIDI instruments. This is
- analogous to a multi-track tape recorder, but it goes far beyond the
- analogy.
-
- There are many different approaches to assembling a piece of music
- with a sequencer. Some people prefer to record each instrument on its
- own sequence "top to bottom", that is, for the whole length of the song.
- Other people like to overdub all the instruments onto a single sequence
- the length of one section, and then append various sections to make the
- song. Music-X was written to accommodate everybody. A sequence may be
- as long as the whole piece (up to 4096 measures), or as short as one
- measure, and may contain the data for one instrument or all the
- instruments. A sequence may also contain events that play other
- sequences. Up to twenty sequences may be playing at any one time, and
- there are 250 empty sequences to work with. By combining these
- attributes, any modality for composing music on a sequencer can be
- emulated. Some of the various modalities are covered in more detail, in
- the Advanced Users chapter.
-
- The rest of this chapter describes, in detail, the functions
- available in the Sequencer Page, roughly in the order that they are
- found on the screen, left to right, top to bottom.
-
- TITLE BAR
- The Title Bar is found along the top of all pages in Music-X to
- remind one where one is. "MUSIC-X" is always written at the left end
- of the Title Bar. At the right end, the title of the current page is
- written; in the Sequencer Page, this will be "SEQUENCER". In the
- Sequencer Page, the name of the current performance will appear
- written after the abbreviation PERF:, in the middle of the title
- bar. For example, "Perf:MySong.Perf". This name changes when a new
- performance is loaded or when the current performance is saved using a
- new and different name.
-
- The Title Bar becomes the Menu Bar whenever the right mouse button
- is pressed. The Menu Bar contains the titles of menus that can be
- accessed by moving the mouse pointer to the menu title as you continue to
- hold the right mouse button down.
-
- (See Sequencer Page / File Menu / Load Performance)
- (See Sequencer Page / File Menu / Save Performance)
-
- MODEMENU
- The Mode menu is found in each of the four main pages in Music-X.
- By choosing the four pages listed in the Mode menu, one moves about in
- Music-X. Additional pages are accessible only from within the main
- pages, using other menus or screen controls.
-
- Below are descriptions of the menu items found in the Mode menu,
- including short descriptions of the main pages and any ancillary pages
- accessible.
-
- ABOUT MUSIC-X
- This menu item brings up a window that shows the Author of Music-X,
- and the author and title of the current performance in memory. If you
- have previously set your song's title and author, they will appear in
- this window. Clicking the left mouse button, or pressing any key, closes
- this window.
-
- (See Sequencer Page / File Menu / Set Author Name)
-
- SUSPEND
- (RightAmiga-"." from the keyboard)
-
- *************************************
- * Music-X Operation Suspended. *
- * Serial Port is now available. *
- * ************** *
- * * RESUME * *
- * ************** *
- *************************************
-
- Illustration 6.2: Suspend Prompt.
-
-
- MIDI uses serial port. To maintain data integrity, Music-X takes
- over the serial port and locks out other programmes. If you need to
- temporarily use the serial port for another application (for
- instance, a telecommunications programme), you can suspend Music-X by
- choosing this menu item. As long as this window is showing, Music-X is
- suspended. When you are finished, click RESUME or press the RETURN
- key to resume the Music-X session.
-
- SEQUENCER
- (RightAmiga-"S" from the keyboard)
-
- Choosing this menu item will get you back to the Sequencer Page from
- any of the other three main pages where the Mode menu is available
- (Filters Page, Amiga Samples Page, Librarian Page). The Sequencer
- Page is used to record, edit, and play musical sequences. The Bar
- Editor and Event Editor Pages are accessible from this page as well.
-
- SET FILTERS
- (RightAmiga-"F" from the keyboard)
-
- This is how you get to the Filters Page, from which you may also
- access the Keymap Editor Page. These pages are used to reroute or
- reinterpret incoming MIDI data.
-
- AMIGA SAMPLES
- (RightAmiga-"A" from the keyboard)
-
- This is how you get to the Amiga Samples Page, where you load,
- manipulate, and save sounds for the internal Amiga voices.
-
- LIBRARIAN
- (RightAmiga-"L" from the keyboard)
-
- This is how you get to the Librarian Page. From there you can send
- and receive system-exclusive patch data for any synthesizers or MIDI
- devices that you have connected to your system.
-
- QUIT
- (RightAmiga-"Q" from the keyboard)
-
- Choosing this menu item will quit Misic-X and return to the Amiga
- Workbench. Be sure to save your music before quitting if needed.
-
- (See Sequencer Page / File Menu / Save Performance)
-
- A safety prompt will appear to prevent you from leaving the
- programme by accident. If you change your mind, click NO and you will be
- safely returned to Music-X. If you indeed want to quit, click YES or
- press RETURN key. Music-X will graciously return the memory to your
- Amiga's Operating System.
-
- ************************************
- * Do you really want to *
- * QUIT Music-X ? *
- * ******** ******** *
- * * NO * * YES * *
- * ******** ******** *
- ************************************
-
- Illustration 6.3: Quit Safety Prompt
-
-
- FILEMENU
- A File menu is found in every page in Music-X. Each page can load
- and save disk files relevant to its particular function. The Sequencer
- Page is unique, however, in that it can also Load, Save, and Merge
- Performance files. A single Performance file can contain all the files
- as would be saved by each page individually. These component files in a
- Performance file are called "subfiles". A list of the various subfile
- types is found below under the description of the SAVE PERFORMANCE
- function.
-
- When you boot Music-X by double clicking on its icon in the
- Workbench, Music-X looks on the Music-X Programme disk for a performance
- file called "Default.Perf". It then loads this performance file and
- finishes booting itself. By rewriting the default performance file, you
- can have Music-X boot in any configuration you want.
-
- You can also boot Music-X by double clicking on the icon of one of
- its performance files. In this case, the chosen performance file is
- loaded instead of the default performance file.
-
- Following are descriptions of the items found in the Sequencer Page
- / File Menu.
-
- MERGE PERFORMANCE
- Choosing this menu item loads a previously saved performance file
- into memory from disk, without first erasing the sequences currently in
- memory. Sequences being merged in from the new performance file will
- overwrite only those current sequences occupying the list positions that
- they use. (This is similar to the "Merge to Front" function found
- commonly in paint programmes). Any old sequences not rewritten by the
- loading of the new performance file will still be in memory after the
- merge. Any other subfiles (Libraries, Keymaps, etc) in the new
- performance file will be loaded during the merge as well.
-
- If you need more control over the transporting of sequences between
- performance files, then Load or Save the sequences individually.
-
- (See Sequencer Page / File Menu / Load Sequence (below))
- (See Bar Editor / File Menu / Load)
- (See Bar Editor / File Menu / Save_
-
- LOAD PERFORMANCE
- (RightAmiga-"P" from the keyboard)
-
- This menu item is used to Load a previously saved performance file
- into memory from disk. Any subfiles, loaded with the performance file,
- overwrite the relevant data in Music-X. That is, if Keymap subfiles are
- present in the Performance file, they overwrite the current Keymaps in
- Music-X. Or, if Filter subfiles are present in the Performance file,
- they overwrite the current Filters in Music-X. Conversly, if a subfile
- is not present in the performance file, the relevant data remains
- unaffected. The two exceptions are with Sequence subfiles and Library
- subfiles. Unlike MERGE PERFORMANCE, LOAD PERFORMANCE erases all the old
- sequences and libraries in memory before loading the new performance
- file. Each time you load a new performance file, you should go to
- Librarian Page and check if any libraries were loaded with the
- performance, and if so, send them to the synthesizers in your system.
-
- (See "Save Performance" below for descriptions of the subfile
- types).
-
- After you chose LOAD PERFORMANCE, the file requester window will
- appear. Use this requester to locate the performance file you wish to
- load.
-
- (See File Requester chapter)
-
- If the Amiga runs out of memory loading a big performance file,
- Music-X will put up a "Not Enough Memory" prompt. If this happens, close
- any other programmes currently in the Amiga's memory, and try again.
-
- *Note: It is possible to load music written on other music
- programmes by first converting their files to Music-X performance files.
- Programmes are provided on the Music-X Utilities disk to do this.
-
- (See Advanced Users / File Conversions)
-
- SAVE PERFORMANCE
- (RightAmiga-"V" from the keyboard)
-
- A performance file is like a "snapshot" of the status of all the
- various Music-X pages. SAVE PERFORMANCE lets you save all the parameters
- in one composite file called a performance file.
-
- *Note: If you want to show off multiasking, try saving a
- performance while it is playing back.
-
- Choosing SAVE PERFORMANCE first calls the Subfile window, where you
- set which subfiles are to be included in the performance file. A list
- of subfile types is given with a switch for each. The default action is
- to save everything; all the switches are on and highlighted in light
- blue.
-
- *Note: If a subfile is NOT included in a performance-file save,
- then it will not be reloaded later and will not overwrite any related
- parameters at that time.
-
- After setting the subfile switches, clikc OK to close and Subfile
- window and continue to the SAVE PERFORMANCE File Requester, or press "O"
- for (O)K for "Y" for (Y)es. Or, if you decide against saving the
- performance file after all, click on CANCEL, or press "C" for (C)ANCEL or
- "N" for (N)o.
-
- Once you reach the File Requester, use it to locate the correct disk
- and directory. Then type in the name of your new performance file in
- the FILE: text box, and click OK to save the performance. Music-X will
- also create and save an icon for the performance file in the same
- directory as the performance file. Performance file icons look like
- music cassettes. The Default.perf icon in the Music-X programme disk is
- an example of a performance icon.
-
- (See File Requester chapter)
-
- *Note: Remember to back up your data disk at the end of the
- sequencing session.
-
- ***********************************
- * Save Performance *
- ***********************************
- * ((())) Sequences *
- * ((())) Libraries *
- * ((())) Filter Settings *
- * ((())) Keymaps *
- * ((())) Output Channels *
- * ((())) Sync Settings *
- * ((())) Time Parameters *
- * ((())) Sample Data *
- ***********************************
- * (OK) (CANCEL) *
- ***********************************
-
- Illustration 6.4: Subfile switches
-
- Following are descriptions of the subfile switches.
-
- SEQUENCES
- Any non-empty sequences are saved with the performance file if this
- switch is on. YOu could conceivably choose not to save sequences, if you
- were creating some sort of blank, template-type performance file with all
- the other parameters set up in a particular way; later, when reloading
- the template, any sequences in memory would not be erased, but the rest
- of the parameters would be reset.
-
- *Note: Individual Sequence files may be loaded and saved from the
- Editor Pages.
-
- (See Bar Editor / File Menu / Load)
- (See Bar Editor / File Menu / Save)
-
- The current Song Title and Author, as set with the SET AUTHOR NAME
- option in the File menu, are also saved in the performance file when the
- SEQUENCES switch is on.
-
- (See Sequencer Page / File Menu / Set Author Name)
-
- LIBRARIES
- This subfile switch saves all patch libraries currently in memory.
- (Up to l0 libraries can be resident in memory at once). Later, when you
- load the performance file, the patches will be available to send to the
- synths from the Librarian Page. This allows repreduction of the specific
- external sounds you were using when you first created and saved your
- performance.
-
- *Note: Individual Library files may be loaded and saved from the
- Librarian Page.
-
- (See Librarian Page / File Menu / Load)
- (See Librarian Page / File Menu / Save)
-
- LIBRARIES
- This subfile switch saves all patch libraries currently in memory.
- (Up to l0 libraries can be resident in memory at once). Later, when you
- load the performance file, the patches will be available to send to the
- synths from the Librarian Page. This allows reproduction of the specific
- external sounds you were using when you first created and saved your
- performance.
-
- *Note: Individual Library files may be loaded and saved from the
- Librarian Page.
-
- (See Librarian Page / File Menu / Load)
- (See Librarian Page / File Menu / Save)
-
- FILTER SETTINGS
- This subfile switch causes the current settings for all l6 filters
- in the Filters Page to be saved with the performance file. Settings
- include the REMAP and ENABLE switch states, and the continuous slider
- positions. Keymaps are not included; they have their own switch (see
- below).
-
- *Note: Individual Filter files may be loaded and saved from the
- Filters Page.
-
- (See Filters Page / File Menu / Load)
- (See Filters Page / File Menu / Save)
-
- KEYMAPS
- This subfile switch causes the four Keymaps, created in the Keymap
- Editor Page and used by the Filters Page, to be saved with the
- performance file.
-
- *Note: Individual Keymap files may be loaded and saved from the
- Keymap Editor Page.
-
- (See Keymap Editor / File Menu / Load)
- (See Keymap Editor / File Menu / Save)
-
- OUTPUT CHANNELS
- When this switch is on, all the settings of the Sequencer Page /
- Sync Menu are saved in your performance file. This is handy if you use a
- drum machine or are doing film or video scoring. At reload, the old sync
- settings will be duplicated eliminating the need to manually reconfigure
- your system.
-
- The Audio Filter setting, as set in the Samples Page, is also saved
- in the performance file when the SYNC SETTINGS switch is on.
-
- (See Samples Page / Options Menu / Audio Filter)
-
- TIME PARAMETERS
- This switch saves the current master Tempo setting, the current
- master Time Signature setting, and the locations stores in the CUE
- buttons.
-
- (See Sequencer Page / Tempo Window)
- (See Sequencer Page / Time Signature Window)
- (See Sequencer Page / Tape Transport Window / CUE Buttons)
-
- SAMPLE DATA
- When this switch is on, any samples currently in memory will be
- saved along with your performance file.
-
- Sample data can use lots of disk memory. If you have a standard set
- of samples that you always use, then there is no need to keep resaving
- them with your performance files. You may wish instead to create a
- "sample template" performance file by first loading your favorite samples
- individually using the Samples Page, and then saving a performance file
- with all of the subfile switches turned off except SAMPLE DATA. Then you
- would only need to load that one performance file once, before playing
- any of the songs that use those samples.
-
- *Note: Individual Sample files may be loaded and saved from the
- Sample Page.
-
- (See Samples Page / File Menu / Load)
- (See Samples Page / File Menu / Save)
-
- LOAD SEQUENCE
- This item in the File menu is used to Load a sequence file from disk
- into the current sequence (highlighted in the sequence list), overwriting
- its previous contents.
-
- After you choose LOAD SEQUENCE, the File Requester will appear. Use
- it to locate the file you want and click OK to load the sequence.
-
- (See File Requester Chapter)
-
- *Note: SAVE SEQUENCE has not been made available from the Sequencer
- Page / File Menu, to prevent the accidental saving of a single sequence
- when the intention was to save all sequences in a Performance file.
- Individual sequences can be Loaded and Saved from within the Bar Editor
- or Event Editor.
-
- (See Bar Editor / File Menu / Load)
- (See Bar Editor / File Menu / Save)
-
- SET AUTHOR NAME
- Here is where you set the Title and Author of the current
- performance in memory. These settings will appear in the ABOUT MUSIC-X
- box, and are automatically saved with any performance file.
-
- (See Sequencer Page / Mode Menu / About Music-X)
-
-
- **************************************************************
- * (OK) * Song Title: * Peanut Butter Jamboree *
- * * Author: * Sticky Vicky *
- **************************************************************
-
- Illustration 6.5: Set Author Name Window.
-
- When you choose this menu item, the above window appears showing the
- current settings. Here is how to change those settings.
-
- () Click the SONG TITLE text box, then use the Amiga's keyboard to
- type in the name.
-
- () Click in the AUTHOR text box, then use the Amiga's keyboard to
- type in the name.
-
- () When done, click OK.
-
- OPTIONS MENU
- The Options menu provides extra functions for the Sequencer Page.
- The Output Channeliser is accessed from here as well as some global
- sequence editing functions like MERGE and EXTRACT.
-
- Following are descriptions of the items available in the Sequencer
- Page / Options Menu.
-
- OUTPUT CHANNELS...
- This menu item calls the CHANNELISER window.
-
- What do you do if you load up a friend's song, in which all the drum
- parts were recorded on MIDI channel 2, but uh-oh... your drum module ONLY
- receives on channel l0.
-
- You can either go down the list and edit the MIDI channels in all
- the sequences that contain drum parts, one by one, or, you can redirect
- your output channels using the Channeliser.
-
- The Channeliser globally translates all MIDI channel data during
- playback only. For each original MIDI channel there is a translated MIDI
- channel. The original data is left intact. It is safe to experiment.
-
- The FROM column shows all the possible original MIDI channels (the
- channels your data is on). The TO column shows the channels you would
- like each of these original channels to be translated to. The SET column
- is clicked on to change the TO column; it is merely a list of the numbers
- l-l6 provided for speed.
-
- Example: To switch those drum channels, click on "02" in the FROM
- column. Click on "l0" in the SET column. Notice the TO column now
- shows "10". Now all the drum parts stored in sequences on MIDI channel 2
- will actually be played on MIDI channel l0.
-
- ******************************
- * CHANNELIZER *
- ******************************
- * From To ³ Set *
- ******************************
- * 0l -- > 0l ³ 0l *
- *(02 -- > l0 ) ³ 02 *
- * 03 -- > 03 ³ 03 *
- * 04 -- > 04 ³ 04 *
- * 05 -- > 05 ³ 05 *
- * 06 -- > 06 ³ 06 *
- * 07 -- > 07 ³ 07 *
- * 08 -- > 08 ³ 08 *
- * 09 -- > 09 ³ 09 *
- * l0 -- > l0 ³ ( l0 )*
- * ll -- > ll ³ ll *
- * 12 -- > 12 ³ 12 *
- * 13 -- > 13 ³ 13 *
- * 14 -- > 14 ³ 14 *
- * 15 -- > 15 ³ 15 *
- * 16 -- > 16 ³ 16 *
- ******************************
- * (OK) (CANCEL) *
- ******************************
-
- Illustration 6.6: Output Channelizer
-
- *Note: Try switching the Channelizer while Music-X is playing.
- This works, and might give you a better indication of what it is doing.
-
- What is really going on: All Music-X data is recorded
- and stored with the MIDI-Channel "nybble" intact. Data
- is passed through the channelizer on its way out. The
- channelizer uses the channel nybble to index a lookup
- table and substitutes the number found there for the
- original channel. This window allows you to edit the
- table.
-
- *Note: Only notes played back from Music-X sequences are
- rechannelized. The channelizer does not affect incoming notes played on
- the mother keyboard. Use the Filters Page to remap incoming MIDI data.
-
- *Note: The Channelizer settings can be saved with your performance
- file.
-
- (See Sequencer Page / File Menu / Save Performance)
-
- SET PUNCH-IN
- (Function key Fl from the keyboard)
-
- Choosing this menu item sets the automatic Punch-In point to
- whatever the current clock setting is. First set the musical clock to
- the desired Measure, Beat and Subclock. Then choose this menu item.
- This can also be done "on the fly" when in PLAY or RECORD mode by tapping
- the Fl key. Punch- In is explained in more detail in the section on
- recording.
-
- (See Sequencer Page / Transport Window / RECORD)
-
- SET PUNCH-OUT
- (Function F2 from the keyboard)
-
- Choosing this menu item sets the automatic Punch-Out point to
- whatever the current clock setting is. First set the musical clock to
- the desired Measure, Beat, and Subclock. Then choose this menu item.
- This can also be done "on the fly" when in PLAY or RECORD mode by tapping
- the F2 key.
-
- COPY SEQUENCE
- (RightAmiga-"C" from the keyboard)
-
- You may wish to keep several versions of a sequence while perfecting
- it. COPY Sequence can be used to create the extra versions.
-
- Choosing this menu item will copy all the data from the current
- sequence (source) to any other sequence in the list (destination). The
- source sequence remains unaffected. Anything previously in the
- destination sequence is, of course, lost.
-
- The source sequence is always the one highlighted before you choose
- COPY SEQUENCE.
-
- Choosing COPY SEQUENCE calls the SELECT SEQUENCE TO COPY TO window.
- Use this window to define the destination sequence by scrolling through
- the sequence list with the CursorUp and CursorDown keys or by dragging
- the scroll bar, and clicking on an empty or expendable sequence. Then
- click OK, or press "O" or "Y" to effect the copy. Or, click CANCEL (or
- press "C" for (C)ANCEL or "N" for (N)o) to safely exit this function with
- no changes made.
-
- The COPY SEQUENCE option and the next two options in the Options
- menu, MERGE SEQUENCE and EXTRACT SEQUENCE, use the "Edit Buffer" as a
- temporary working area. The Edit Buffer is also used to record and edit
- sequences. If the Edit Buffer is not empty when you choose any of these
- options, a safety prompt will appear to prevent accidental erasure of
- sequence data.
-
- *****************************************
- * WARNING: The Edit Buffer currently *
- * contains unsaved data. *
- * ********* ********* ********* *
- * *CANCEL * *DISCARD* * STORE * *
- * ********* ********* ********* *
- *****************************************
-
- Illustration 6.7: Buffer unsaved warning.
-
- The prompt has three choices. Clicking CANCEL will abort whichever
- option you were about to use and return you to the sequencer page.
- Clicking DISCARD will lose the current contents of the Edit Buffer and
- continue with the option as intended. Clicking STORE will open a
- sequence selector window titled STORE TO WHERE?, offering a list of the
- 250 possible sequences in memory. Use the window to choose a sequence
- and click OK to store the current contents of the Edit Buffer to that
- sequence, clearing the Edit Buffer for use. After the Edit Buffer is
- cleared, you can continue with the originally chosen option.
-
- MERGE SEQUENCE
- (RightAmiga-"M" from the keyboard)
-
- Use this menu item to merge the data from the current sequence
- (source) into any other sequence in the list (destination). The source
- sequence remains unaffected (unless merging to itself). The destination
- sequence will contain all its old data plus the data from the source
- sequence. Merging a sequence to itself will create a MIDI doubling of
- all the notes in the sequence.
-
- The source sequence is always the one highlighted before you choose
- MERGE SEQUENCE.
-
- Choosing MERGE SEQUENCE calls the SELECT SEQUENCE TO MERGE TO
- window, showing a sequence list. Scroll through the list with the
- CursorUp and CursorDown keys or by dragging the scroll bar with the
- mouse. Choose the destination sequence by clicking on an empty or
- expendable sequence to highlight it. Then click OK to effect the merge.
- Or click CANCEL (or press "C" for (C)ANCEL or "N" for (N)o) to safely
- exit this function with no changes made.
-
- Once the merge is initiated Music-X will temporarily ignore the
- mouse, to help speed up the merging process. The amount of time for the
- merge to complete depends on the sizes of the sequences being merged.
- When Music-X is done merging, it will put up a prompt saying "Merge
- Finished". Click OK button to close the prompt and return to the
- Sequencer Page.
-
- EXTRACT SEQUENCE
- Think of this as "Extract a new sequence from an old sequence". You
- essentially extract a copy of just the good stuff without affecting the
- original.
-
- What Extract does is selectively copy into the Edit Buffer chosen
- classes of events from the contents of the current sequence without
- altering that sequence. You must then manually store the buffer
- containing the extracted events to a new sequence (using the Sequencer
- Page / STORE button).
-
- The source sequence is the one highlighted before you call EXTRACT
- SEQUENCE. The destination sequence is actually the Edit Buffer until you
- store it to a spare sequence.
-
- There are three basic event classes that can be Extracted: Channel
- events, System Exclusive data, and Music-X events.
-
- Channel events are thos MIDI events that control instruments on a
- particular MIDI channel: Notes, Channel After Touch (CAT), Poly-
- phonic After Touch (PAT), Control Changes (CTL), Programme Changes
- (PGM), and Pitch Bend (PBEN).
- System Exclusive data varies with different manufacturers and is
- only understood by the instrument it is intended for.
-
- Music-X events are events that internally control the sequencer in
- some way: Play Sequence (PSEQ), Mute Sequence (MSEQ), Solo Sequence
- (SSEQ), Mute Tract (MTRK), Solo Track (STRK), Set Repeats (REPT), Set End
- (END), Change Keymap (KMAP), Tempo Change (TEMPO), Time Signature Change
- (TSIG), and Stop Sequencer (STOP).
-
- *Note: Event types are described in detail in the Editor chapters.
-
- (See Bar Editor / Event types)
- (See Event Editor / Event types)
-
- After you choose EXTRACT SEQUENCE a window appears titled EXTRACT
- WHICH CHANNELS? All the channels are listed, as well as the two classes
- of non-Channel events: Music-X events, and Systems Exclusive events.
- Click on the channel numbers or the other event types (they will appear
- highlighted in white) to choose which will be copied into the Edit Buffer
- (clicking them again turns them off again).
-
- ***************************
- * Extract Which Channels? *
- ***************************
- * 01 02 03 04 05 06 07 08 *
- * 09 l0 ll l2 l3 4l l5 l6 *
- * SYSX Events *
- * Music-X Events *
- ***************************
- * (OK) (CANCEL) *
- ***************************
-
- Illustration 6.8: Extract Window.
-
- If any of the channel numbers are switched on, then Channel events
- on the chosen channel(s) will be copied into the Edit Buffer.
-
- If the SYSX EVENTS switch is on, then any Music-X events present in
- the source sequence will be copied into the Edit Buffer.
-
- How to Extract:
-
- Say we had a composite sequence called "Bass and Drums" containing
- two instruments. The drums are on MIDI channel l and the bass is on
- MIDI channel 2. Here is how we would separate the instruments into their
- own sequences:
-
- - From the Sequencer Page, find the "Bass and Drums" sequence in the
- sequence list and highlight it. This is our source sequence for the
- Extract function.
-
- - Choose EXTRACT SEQUENCE from the Options menu. The EXTRACT WHICH
- CHANNELS? window will appear.
-
- - When the requester appears, choose to extract data on MIDI channel
- l by clicking "0l". (It should become highlighted). Make sure no other
- MIDI channels are highlighted; we only want the drum data.
-
- - Click OK to start the extraction.
-
- *Note: If the Edit Buffer was no empty when you clicked OK, a
- safety prompt will appear so you can decide what to do with the data
- previously in the buffer. Clicking DISCARD in the safety prompt will
- lose what was in the buffer and let you proceed.
-
- - A prompt will appear when the extraction is finished. Click OK to
- proceed.
-
- - We now have a copy of the drums in the Edit Buffer. Choose an
- empty sequence by highlighting it in the sequence list and click STORE to
- write the Edit Buffer into the empty sequence. The new sequence now
- contains the drum part. Title it "Drums alone", or something, by
- clicking in the SEQUENCE NAME field and typing in the name.
-
- We have extracted a copy of just the drums and stored it to a new
- location. Now we will do the same thing for the bass line:
-
- - Select the "Bass and Drums" sequence again and call EXTRACT
- SEQUENCE.
-
- - This time deselect MIDI channel l (drums), by clicking "0l" to
- turn it back off, and select MIDI channel 2 (bass) by clicking on "02".
- Then click OK. And again OK at the "Extract Finished" prompt.
-
- - We now have the bass in the Edit Buffer.
-
- - STORE the Edit Buffer to a new sequence and rename it to something
- like "Bass alone".
-
- Now that we are finished Extracting, we can DELETE the original
- coposite sequence or keep it as a back-up.
-
- If we were really slick, we could have written the Edit Buffer
- containing the bass part back to the original "Bass and Drums" sequence,
- effectively doing a DELETE and a STORE in one step.
-
- ERASE ALL SEQUENCES
- Choosing this menu item erases all sequences currently in memory,
- but nothing else. Cue points, Tempo, Sync settings, and other parameters
- are all left in their current state. This can be used to clear out
- sequence space when starting a new piece of music. A safety prompt will
- then appear to prevent inadvertent loss. Click on YES, or press the
- RETURN key to erase the sequences. Click NO to safely return to Music-X
- without erasing the sequences.
-
- *************************
- * Do you really want to *
- * ERASE all sequences? *
- * (NO) (YES) *
- *************************
-
- Illustration 6.9: Erase Safety Prompt
-
- USE ZERO ORIGIN
- This causes the master clock's measure and beat numbers to start at
- 0000.00.000 instead of 000l.0l.000, in case you prefer thinking that way
- or need to do some frame calculations, etc. All pages are affected.
- This option is active if the menu item is check marked.
-
- (See Sequencer Page / Clock Window)
-
- WORKBENCH
- This option is part of a memory saving technique. In the Amiga, all
- the graphics must be stored in a special memory called chip memory, if
- they are to be displayed. Different applications (programmes) reserve
- sections of chip memory to use for their graphic "screens". The Amiga's
- Workbench uses a screen and takes up some chip memory. If Music-X boots
- up into a system with little free memory, it may turn off the Workbench
- screen to free up some of the chip memory. This does not mean that the
- Workbench is erased or stops running, it just means the screen is not
- displayed to save chip memory. Music-X does this so it will be able to
- display its own menus, windows, requesters, and prompts.
-
- While checked, this menu item means that the Workbench screen is
- turned on. One can see and move between the Music-X and Workbench
- screens by clicking the front-to-back gadgets or by pulling one down to
- reveal the other.
-
- (See Tutorials / Amiga Basics)
-
- When this menu item is not checked, it means the Workbench screen
- has been removed from chip memory and is turned off. The Workbench can
- be turned back on by selecting this menu item.
-
- SYNCMENU
- The word synchronous comes from the Greek words: sun for "same", and
- khronos for "time". The Sync menu governs the way Music-X synchronizes
- with, or operates at the "same time" as, other time keeping devices.
-
- Settings mae in this menu can be saved and reloaded with any
- performance file (including the Default performance), making the
- reconstruction of sync setups automatic.
-
- *Note: If you consistently use the same equipment set up, you might
- want to resave the "Default.perf" file with your particular Sync menu
- settings.
-
- (See Sequencer Page / File Menu / Save Performance)
-
- THE NEED FOR SYNCHRONIZATION
- Music is a time dependent art form. The applications of electronic
- music often involve the use of several time keeping devices at once (drum
- machines, sequencers, audio tape recorders, film or video equipment,
- etc). It is rare that any two unconnected time keepers can agree with
- each other without eventually drifting apart. Even if they could, it
- would be difficult to independently start them at exactly the same time.
- It is therefore necessary to synchronize them somehow.
-
- This is usually done by making one device the leader, or master, and
- using it to transmit start, stop, location, and timing information that
- the others receive and follow. That way, even if the leader is wrong,
- they all move together. A common method is to code "messages" into
- binary numbers and transmit them electronically as very fast two-state
- voltage fluctuations. MIDI and SMPTE are two examples of this method.
-
- *Note: Music-X has the ability to operate in synchrony with a
- number of external time sources (be a follower). It can also transmit
- MIDI Clock and Song Position Pointer messages to synchronize drum
- machines and sequencers (be a leader). In some cases it can be a leader
- and a follower simultaneously.
-
- TWO TYPES OF TIME
- Synchronization messages can be divided into two types, those that
- transfer Relative Time information and those that transfer Absolute Time
- information.
-
- Relative Time is described in musical terms like "Measures", and
- "Beats". When you say "the second measure of the bridge", you are
- speaking of Relative Time. Two examples of Relative Time synchronization
- are MIDI Song Position Pointer and MIDI Clocks (more on those later).
-
- Absolute Time is described in Hours, Minutes, and Seconds. When you
- say, "The gig starts at seven thirty", you are speaking of Absolute Time.
- An example of Absolute Time synchronization is SMPTE Time Code (more on
- that too).
-
- Music-X has two types of sequences, those that are tempo dependent
- (Relative sequences), and those that move with the clock (Absolute
- sequences). Music- X also has two internal clocks, one for each type of
- sequence (Relative and Absolute).
-
- The rest of this chapter contains individual descriptions of the
- items found in the Sync menu.
-
- MASTER CLOCK
- The MASTER CLOCK setting determines which source will be monitored
- to keep Music-X moving through time. Music-X actually always runs on its
- own internal clock. As timing messages are received from the current
- Master Clock source, Music-X's internal clock is reset to match them.
- This provides as fine an internal resolution as possible by allowing
- Music-X to play between incoming messages, while making sure that, as
- messages come in, Music-X keeps in step with them.
-
- Two internal and three external time sources are listed in a pop-out
- menu. The five choices are mutually exclusive. The checked item shows
- the current MASTER CLOCK setting. The choices are described below.
-
- INTERNAL
- When INTERNAL is selected, Music-X uses one of the Amiga's
- timer chips as the Master Clock source.
-
- The Relative clock is updated in increments of l/l92 quarter
- note, at a rate dependent on the current tempo. The Absolute clock is
- updated through a conversion routine.
-
- Example: Playing Music-X with no other sync equipment.
-
- - Set MASTER CLOCK to INTERNAL
-
- - Click PLAY to start Music-X
-
- MIDI CLOCKS
- Read this menu item as "MIDI Clock Messages". When this
- Master Clock setting is chosen, Music-X synchronizes its internal clock
- to incoming MIDI Clock messages while in PLAY or RECORD modes.
-
- WHAT ARE MIDI CLOCK MESSAGES?
- MIDI Clocks are MIDI messages transmitted by a drum machine or
- sequencer that say to the receiver "Advance your musical clock by l/24
- quarter note." Each time the trasmitter advances its own internal clock
- by l/24 quarter notes, it sends out a MIDI Clock message. Each time the
- receiver gets one of these messages, it advances its clock as well. This
- means that whatever the tempo of the transmitting device, the receiver
- will follow it; the transmitting device controls the tempo of the music.
-
- MIDI CLOCKS is used as the Master Clock setting in situations where
- an external drum machine or sequencer will be the time keeper, and you
- wish Music-X to synchronize with it.
-
- *Note: In most situations where a drum machine will be used, it is
- better to let Music-X be the master, and have the drum machine follow
- Music-X. This allows Music-X to be in charge of tempo changes, and to
- play Absolute sequences correctly. (MIDI clocks, being a Relative Time
- system, cannot transmit Absolute Time information). However, the MIDI
- CLOCKS menu option has been proided for other situations.
-
- (See Sequencer Page / Sync Menu / MIDI Sync Out)
-
- **********************************************
- Internal Clocks * MIDI Clock * MIDI Clock * *
- Too fast **********************************************
- ||
- Waiting
-
- Internal Clocks **********************************************
- too slow * MIDI Clock MIDI Clock *
- **********************************************
- |
- re-synced
-
- Internal Clocks **********************************************
- in sync * MIDI Clock MIDI Clock *
- **********************************************
-
-
- Illustration 6.l0: Improving the resolution of MIDI Clocks.
-
- MIDI Clocks have a resolution of l/24 quarter note. Music-X has a
- resolution of l/l92 quarter note. That means that Music-X has eight
- times the resolution of MIDI clocks. It seems a shame to waste all that
- resolution. However, by matching Music-X's tempo changes to the drum
- machine's, one can effectively increase the resolution and accuracy of
- MIDI Clocks.
-
- Example: Using a drum machine to drive Music-X.
-
- - The drum machine's MIDI OUT must be connected to the Amiga's MIDI
- IN and the drum machine must be able to transmit MIDI Clocks.
-
- - Set MASTER CLOCK to MIDI CLOCKS
-
- - Set MIDI START & STOP (also found in the sync menu) to RECEIVE.
-
- - Manually start the drum machine.
-
- - The drum machine sends a MIDI Start message.
-
- - Music-X receives the MIDI Start message and locates its musical
- clock to the beginning of the song.
-
- - The drum machine sends the first MIDI Clock message and begins
- playing.
-
- - Music-X receives the first MIDI Clock message and begins playing.
-
- - Music-X continues to play the next 8 of its own clocks (the
- equivalent of l/24 quarter note) at the current Music-X tempo.
-
- - If Music-X finishes playing its 8 clocks before receiving the next
- MIDI Clock message, then it stops playing and waits.
-
- - The drum machine, advancing at its own tempo, sends the next MIDI
- Clock message.
-
- - Music-X receives the next MIDI Clock message, advances its musical
- clock to the next l/24 quarter note, and continues to play. If the
- MIDI Clock is received before Music-X expected it, then Music-X jumps
- ahead anyway to keep in step. (See Illustration 6.l0)
-
- - Music-X matches the tempo of the drum machine and provides some
- additional resolution as well. This process continues until the end of
- the song.
-
- (See Sequencer Page / Sync Menu / MIDI Start & Stop)
- (See Sequencer Page / Tempo Window)
-
- *Note: Most the the newer drum machines transmit MIDI Clocks even
- while stopped. This means that the sequencer can play while syncing to
- MIDI Clocks, even without the drum machine playing.
-
- MIDI Clocks can also provide a way of moving song written on another
- computer-sequencer over to the Amiga:
-
- - The source computer must be able to transmit MIDI Clocks and its
- MIDI OUT must be connected to the Amiga's MIDI IN.
-
- - Set MASTER CLOCK to MIDI CLOCKS
-
- - Set the two sequencers' tempo sliders to the same value.
-
- - Put Music-X in RECORD
-
- - Play the other sequencer.
-
- - All the MIDI data played by the source will be recorded by Music-X
- in time with the MIDI Clock messages.
-
- (See Sequencer Page / Transport Window / RECORD)
- (See Sequencer Page / STORE)
-
- VIDEOCLOCK
- When VIDEO CLOCK is chosen as the MASTER CLOCK setting, Music-X uses
- the Amiga's internal video clock to drive the Absolute clock.
-
- There is a chip in the Amiga that generates the timing frequency
- used to drive the monitor display's Vertical Blanking Interval (VBI).
- The VBI is the dark strip between frames in a television signal. The
- Amiga's VBI frequency is just slightly under 60 frames per second. When
- using VIDEO CLOCK as the Master Clock, the Absolute clock is updated by
- l/2 frame at every VBI. Since the video chip frequency is the same as
- the National Television Systems Committee (NTSC) standard frame rate for
- television, the VIDEO CLOCK setting can be used to approximate Non-Drop
- Frame, or Drop Frame SMPTE in cases where you want to test the total
- elapsed time of the piece for accuracy against the clock.
-
- MIDI TimeCode
- When MIDI Time Code is chosen as the Master Clock setting, Music-X
- synchronizes its Absolute clock to incoming MIDI Time Code messages.
-
- What is MIDI Time Code?
- MIDI Time Code (MTC) is a type of MIDI message that describes
- elapsed time in Hours, Minutes, Seconds, and Quarter Frames. This makes
- it similar to SMPTE Time Code, with the advantage that MTC can be
- received via normal MIDI cables; SMPTE Reader hardware is not necessary.
-
- MTC has four formats: 24 FPS (Frames Per Second), 25 FPS, Non-Drop
- Frame, and Drop Frame. When synchronizing Music-X to MTC, it is
- necessary to set Music-X to the same format using the TIME CODE
- parameter.me Code for American Music-X users.
-
- Like Non-Drop Frame, Drop Frame format is also rated at 29.97 frames
- per second. What is different about Drop Frame is that the accumulated
- errors in frame numbers, due to the slightly slow frequency, are
- corrected to match real time by dropping some of the frame numbers
- periodically. At the end of an hour, the total number of frames will
- still be l08 frames short, but the frame numbers will be correct.
-
- This is the way it works: There is still an orderly progression of
- frames, one after the other. Each frame has a unique number, and all the
- frames are numbered in ascending order. However, when numbering each
- frame, certain frame numbers are skipped. The ones that are left out are
- the first two frame numbers of every minute except the first minute and
- every tenth minute after that. That means that a total of l08 frame
- numbers are left out every hour (just enough to correct the error).
-
- For example, experimenting with Music-X's TIME: clock, while in Drop
- Frame, will show that the frame numbers jump from 00:00:59.29 to 00:00:02
- because there is no frame 00, or 0l, at the beginning of minute 0l.
-
- TIME CODE OFFSET
- This option can be used when synchronizing Music-X to incoming SMPTE
- Time Code or MIDI Time Code messages to shift the beginning of Music-X
- Time Code against the beginning of external Time Code.
-
- TIME CODE OFFSET allows you to start Music-X's clock at any point
- during the reference Time Code. This can be used, for instance, when
- recording a short song in the middle of a long film.
-
- Choosing this menu opens a window in the Sequencer Page showing the
- current Time Code Offset number in the form of Hours, Minutes, Seconds,
- and Frames. The Time Code Offset number may be edited using the arrows
- next to each number.
-
- ********************************************************
- * () () || () () || () () || () () || *
- * HRS || MIN || SEC || FRM || (OK) *
- ********************************************************
-
- Illustration 6.ll: Time Code Offset Window
-
- When done, click OK to close the window. The number that you
- specify will be subtracted from each incoming Time Code message before
- being used by Music-X.
-
- For example, let us say you are writing some background music to a
- friend's video. Your friend says the tape is striped with SMPTE and that
- the music should start 20 minutes into the tape.
-
- - The video machine must be sending SMPTE messages to the Amiga's
- SMPTE Reader or to a SMPTE-to-MTC converter connected to the Amiga.
-
- - Set the Master Clock to SMPTE READER, or MIDI TIME CODE depending
- on which device you are using.
-
- - Set the Time Code Offset to 00:20:00.00. Music-X now considers
- this to be zero (00.00:00.00)
-
- - Put Music-X in RECORD, and run the video from somewhere before the
- 20 minute mark.
-
- - As Music-X receives each incoming Time Code message, it subtracts
- 20 minutes from it and attempts to use it. If a Time Code message
- appears to be less than zero, it ignores it, and waits for the next one.
-
- - When Music-X receives the Time Code message specifying 20 minutes,
- it subtracts 20 minutes from it, sees a message of zero, and says "aha...
- I can use this." Music-X then begins recording from that point.
-
- - As you see the action on videotape, play along to match it.
-
- - When done, STORE your music to a sequence and put Music-X in PLAY.
-
- - Rewind the video and play it. Music-X will auto-locate and play
- back the freshly recorded music along with the video.
-
- MIDI SYNC OUT
- When MIDI SYNC OUT is checked, Music-X will transmit MIDI clock
- messages at the current tempo, when in PLAY or RECORD. This is done
- regardless of the current MASTER CLOCK setting.
-
- This is handy when using a drum machine as an external sequencer,
- that is, with musical drum patterns stored in its own internal memory
- rather than being triggered by note events from Music-X's own sequences.
-
- For example, to synchronize a separately programmed MIDI drum
- machine (or other sequencer) from Music-X:
-
- - Connect a MIDI cable from the Amiga's MIDI OUT to the drum
- machine's MIDI IN.
-
- - Set the drum machine to receive MIDI Clocks (most units call this
- "MIDI sync mode").
-
- - Set Music-X's MASTER CLOCK to INTERNAL.
-
- - Turn on MIDI SYNC OUT
-
- - Set MIDI START & STOP to TRANSMIT
-
- - Turn on SONG POSITION (see below).
-
- - Play Music-X from any point in the song. Music-X will send a MIDI
- Start, or MIDI Song Position Pointer message to locate the drum machine
- and then begin transmitting MIDI Clock messages at the current tempo.
-
- - The drum machine will receive the MIDI Clock messages and follow
- Music-X.
-
- To synchronize a drum machine while Music-X is synchronizing to
- video:
-
- - Set up the drum machine as above, and set up the SMPTE Reader to
- feed Music-X SMPTE Time Code.
-
- - Set the MASTER CLOCK to SMPTE READER
-
- - Set the TIME CODE type to DROP FRAME (for color video).
-
- - Set the TIME CODE OFFSET if needed to start the song in the middle
- of the video.
-
- - Turn on MIDI SYNC OUT
-
- - Set MIDI START & STOP to TRANSMIT
-
- - Turn on SONG POSITION (see below)
-
- - Put Music-X in PLAY and start the video from any point.
-
- - When Music-X receives the first Time Code message, it will auto-
- locate to the specified point. After auto-locating, Music-X will send a
- MIDI Start, or MIDI Song Position Pointer message to locate the drum
- machine and then begin transmitting MIDI Clock messages at the current
- tempo.
-
- - As the video is stopped, fast forwarded or rewound, and played
- again, Music-X will auto-locate to match it, then send Song Position and
- MIDI Clock messages to locate and sync the drum machine.
-
- SONG POSITION
- This Sync menu option enables the sending of MIDI Song Position
- Pointer messages by Music-X. While this menu option is checked, Music-X
- will send a MIDI Song Position Pointer message whenever it deems a
- relocation necessary. This would be whenever PLAY is clicked after the
- current clock setting has been moved (by fast forwarding or rewinding, or
- by using the CUE buttons). The only time a Song Position Pointer would
- not be sent is when starting from the beginning of a song. In this case,
- a MIDI Start message would be sent instead (assuming MIDI START & STOP is
- set to TRANSMIT).
-
- *Note: Music-X can send Song Position Pointer regardless of the
- MIDI START & STOP setting.
-
- WHAT IS A SONG POSITION POINTER MESSAGE?
- Song Position Pointer is a MIDI message that describes some point in
- the song based on the number of sixteenth notes that have elapsed since
- the beginning. The receiver of a Song Position Pointer message stops
- whatever it is doing and relocates its clock to the specified point.
- Once the receiver has located, it can be sent MIDI Clock messages. This
- process allows the sender and receiver to start together from any point
- in the song without having to play from the beginning.
-
- *Note: The receiving of Song Position Pointer messages is
- always enabled. Music-X always relocates when it receives a Song
- Position Pointer message.
-
- SONG POSITION DELAY
- Song Position Delay is an option that affects the way the SONG
- POSITION option works, and may be used in any situation where Song
- Position messages are sent. If SONG POSITION is not turned on (checked)
- then the SONG POSITION DELAY setting is ignored.
-
- The Song Position Delay feature is an allowance made to older drum
- machines or sequencers that may not have implemented the MIDI
- specification correctly. It causes Music-X to temporarily delay the
- sending of MIDI Clocks after a Song Position message has been sent, so
- that older devices, that ignore their MIDI IN ports while locating, will
- not miss a few MIDI Clock messages and start out of sync. This feature
- is only needed when using one of these older units as an external
- sequencer, that is, with musical drum patterns stored in its own internal
- memory. If you are triggering the drum machine with note events from
- Music-X's sequences, then Song Position is not needed.
-
- When a MID device receives a Song Position message, it relocates its
- clock. This is usually done by playing silently, as fast as possible
- from the beginning of the song. This takes time. The further into the
- song it must go, the longer it takes to locate.
-
- HERE IS A SCENARIO OF THE PROBLEM:
-
- - After fast forwarding or using CUE point, PLAY is clicked.
-
- - Music-X notices the new clock time and begins locating silently to
- the new position, playing through any Time Signature Changes and
- calculating the number of l6th notes that have elapsed.
-
- - Music-X finishes auto-locating and sends a Song Position Pointer
- message specifying the accumulated l6th notes.
-
- - The drum machine receives the Song Position Pointer messages and
- begins auto locate.
-
- - Music-X begins playing and sending MIDI Clock messages.
-
- - The drum machine is still locating and misses the first few MIDI
- clocks (MIDI specs say that it should keep track on incoming MIDI Clocks
- while locating).
-
- - The drum machine finishes auto locating and begins playing from
- the previously specified point at the rate dictated by the incomeing MIDI
- Clock messages.
-
- - Music-X has meanwhile played ahead.
-
- - The two units remain perfectly out of sync until the end of the
- song!
-
- One solution would be to click PAUSE, and then PLAY, and wait for
- the receivers to catch up before turning PAUSE off to play again. SONG
- POSITION DELAY essentially does this automatically.
-
- HERE IS A SCENARIO OF THE SOLUTION USING SONG POSITION DELAY:
-
- - After fast forwarding or using a CUE button, PLAY is clicked.
-
- - Music-X notices the new clock time and begins locating silently to
- the new position; playing through any Time Signature Changes and
- calculating the number of l6th notes that have elapsed.
-
- - Music-X finishes auto-locating and sends a Song Position Pointer
- message specifying the accumulated l6th notes.
-
- - Music-X begins waiting for a period of time based on the magnitude
- of the Song Position message.
-
- - The drum machine receives the Song Position Pointer message and
- begins to auto locate.
-
- - The drum machine finishes auto locating and waits for MIDI Clock
- messages to advance its clock.
-
- - Music-X begins playing and sending MIDI Clock messages.
-
- - The drum machine begins playing at the rate dictated by the
- incoming MIDI Clock messages.
-
- - The two units remain in sync until the end of the song.
-
- The process described above is what happens when using SONG POSITION
- DELAY while the MASTER CLOCK setting is set to either INTERNAL or VIDEO
- CLOCK. While using these MASTER LCOCK sources, Music-X can wait as long
- as it sees fit before playing, because it is in control.
-
- Song Position Delay is implemented slightly differently when using
- either MIDI TIME CODE, or SMPTE READER as the MASTER CLOCK. When using
- either of these MASTER CLOCK settings, it is impossible to tell what the
- first incoming message will be. This is because the timing source can
- relocate independently of Music-X. Music-X must follow it. When Music-X
- receives the first incoming Time Code message, it converts it internally
- to a song location. It then sends a Song Position Pointer message
- specifying one measure later than the current position, and starts
- playing. When one measure has passed, Music-X starts sending MIDI Clocks
- (assuming that MIDI SYNC OUT is switched one).
-
- Here is a scenario of the behaviour of Song Position Delay when
- synchronising to a Time Code.
-
- - PLAY is clicked.
-
- - The tape recorder or other device is started.
-
- - Music-X begins receiving Time Code messages and figures out where
- in musical time it should be, based on the Absolute time specified in
- the Time Code message.
-
- - Music-X begins silently locating to the new position; playing
- through any Time Signature Changes and calculating the number of l6th
- notes that have elapsed.
-
- - Music-X finishes locating and sends a Song Position Pointer
- message specifying one measure greater than the current measure.
-
- - Music-X continues playing but does not transmit MIDI Clocks.
-
- - The drum machine finishes auto locating and waits for MIDI Clock
- messages to advance its clock.
-
- - After Music-X reaches the next measure, it begins transmitting
- MIDI Clock messages.
-
- - The drum machine begins playing at the rate dictated by the now
- incoming MIDI Clock messages.
-
- - The two units remain in sync until the end of the song.
-
- MODULES MENU
-
- A Modules menu is found on every page in Music-X (except the Keymap
- Editor Page and the Protocol Editor Page, which are modules themselves).
- A module is a small programme loaded into Music-X to execute a particular
- function. Six modules come with Music-X as relased. More will become
- available in the future. Following are descriptions of the two modules
- that appear in the Sequencer Page / Modules Menu. Other modules are
- described elsewhere in the manual.
-
- NEWCLI
- This module calls the standard Amiga programme "NewCLI" which opens
- a text window titled "New CLI" in the Workbench screen.
-
- CLI stands for "Command Line Interpreter". The CLI window is used to
- give written commands to the AmigaDOS operating system. This gives you
- another way to communicate with the Amiga to do things like look at the
- contents of disks, run programmes, delete files, etc.
-
- Move between the Workbench and Music-X screens as needed using the
- front-to- back gadgets found on most screens and windows.
-
- *Note: Learn how to use the CLI by reading an AmigaDOS manual.
-
- NEWSHELL
- This moduel calls the Amiga programme "NewShell" which opens a text
- window titled "AmigaShell" in the Workbench screen. A Shell is basically
- an improved CLI. Move between the Workbench and Music-X screens using the
- front-to-back gadgets.
-
- *Note: Learn how to use the NewShell by reading an AmigaDOS Manual.
-
- TRANSPORT WINDOW
- In the top left corner of the Sequencer Page is the Transport window
- containing a cluster of controls modeled after the buttons on an analog
- tape machine. These Transport Controls are activated by clicking on
- them, and are used to start the clock, stop the clock, and relocate the
- clock to different portions of the song. Following are descriptions of
- those buttons.
-
- **********************************************************
- * (BEGIN) (END) (CUEl) (CUE2) (CUE3) (CUE4) (SET) *
- * (PAUSE) (<<) (>PLAY) (>>) (O RECORD) (=STOP) *
- **********************************************************
-
- Illustration 6.l2: Transport Window.
-
- (BEGIN)
- ("B" from the keyborad)
-
- This button relocates the clock to the beginning of the song. This
- button can be used while the clock is stopped or while the clock is
- running. If used while in RECORD mode, the Record Buffer is erased, the
- clock is moved to the beginning of the song, the sequencer backs up to
- play the Count-In measures (see below), and recording starts again.
-
- (END)
- ("E" from the keyboard)
-
- This button relocates the clock to the last previously recorded
- point in the song. The END button is self-adjusting, and automatically
- recalculates its position each time a longer sequence is recorded.
- However, it can also be set manually using the SET button (see below).
-
- (CUEl) (CUE2) (CUE3) (CUE4)
- ("l", "2", "3", and "4" from the keyboard)
-
- These user-definable CUE buttons are designed to emulate the auto-
- locate functions of a professional multi-track tape recorder. They can
- be used instead of Fast Forward or Rewind to quickly relocate the clock
- to preset points. Those points can be set to the start of song sections
- or to any point in the song using the SET button (see below).
-
- The CUE buttons can be used while the clock is stopped or while the
- clock is running. If used while in RECORD mode, the Record Buffer is
- erased, the clock is moved to the CUE point, the sequencer backs up to
- play the Count-In measures (see below), and recording starts again.
-
- The default setting for the CUE buttons is the beginning of the
- song.
-
- CUE button locations can be saved with performance files.
-
- (See Sequencer Page / File Menu / Save Performance)
-
- (SET)
- ("=" (equals sign) from the keyobard)
-
- This button is used to manually set the locations for the CUE
- buttons (and the END button if you wish). SET can be used while the
- clock is running or while the clock is stopped.
-
- Here is how to set a CUE point using the SET button.
-
- - Click SET.SET will appear highlighted; it is now "readied".
-
- - Click on one of the CUE buttons (or the END button). The CUE
- button will be set to the current clock position. SET will return to
- normal appearance.
-
- You can change the cue points at any time by repeating the above
- steps.
-
- (PAUSE)
- (SPACE BAR from the keyboard)
-
- As in a conventional tape recorder, you can temporarily halt the
- playing or recording of a song with the PAUSE button.
-
- Click PAUSE. PAUSE will become highlighted, and the clock will
- temporarily stop. You can resume playing by clicking PAUSE again. When
- PAUSE is released, the sequencer does not need to relocate as it would
- with the series of commands STOP and PLAY.
-
- If you click PAUSE while recording, the Record Buffer is not erased.
- Releasing PAUSE will continue recording from that point.
-
- PAUSE does not automatically cut off any currently sounding notes;
- it holds the clock in its current state.
-
- (<<)
- ("(" (left bracket) from the keyboard)
-
- The Rewind Button is marked with two left-pointing arrows.
- Depending on which clock is currently chosen, clicking this button will
- move the clock back in increments of l measure, or l minute. Holding the
- button moves the clock continuously. If you are already at the
- beginning, then nothing will happen!
-
- The Rewind Button cannot be used during PLAY or RECORD modes.
-
- *Note: The clocks can also be changed in smaller increments by
- using the green arrows in the clock window.
-
- (See Sequencer Page / Clock Window)
-
- (PLAY)
- ("P" from the keyboard)
-
- (ESC (Escape key) = All notes off)
- (SHIFT-ESC = Super All notes off)
-
- This button starts the sequencer from the current clock position.
- If the clock is not at the beginning, then Music-X auto-locates by
- playing from the beginning, as fast as possible, until it gets to where
- the clock is, before playing normally. During auto-locate, Note events
- are silenced, but all other events are played normally (albeit quickly).
- This is so that things like Program Changes, Pitch Bend, Control Changes,
- and other events that might affect the sound will be correctly updated to
- their most recent values when the clock begins playing normally.
-
- If PLAY is clicked while in RECORD mode, recording is stopped and
- the clock continues running.
-
- If at anytime during play, a "MIDI stuck-on note" occurs, remember
- that pressing the Amiga's escape key (at the upper left corner of the
- keyboard) sends a MIDI All Notes Off message. Holding the SHIFT key,
- while pressing the escape key initiates a "Super All Notes Off", which
- actually sends a MIDI Note-Off message for each of the l28 possible notes
- on all l6 MIDI channels. This feature is available from all Pages in
- Music-X.
-
- (>>)
- (")" (right bracket) from the keyboard)
-
- The Fast Foward Button is marked with two right-pointing arrows.
- Depending on which clock is currently chosen, clicking this button will
- advance the clock in increments of l measure, or l minute. Holding the
- button moves the clock continuously.
-
- The Fast Forward button cannot be used during PLAY modes.
-
- *Note: The clocks can also be changed in smaller increments by
- using the green arrows in the clock window.
-
- (See Sequencer Page / Clock Window)
-
- (RECORD)
- ("R" from the keyboard)
-
- The basic process in MIDI recording is to capture the incoming data
- stream from the mother keyboard (or whatever device is hooked up to the
- computer's MIDI IN port), time-stamping each arriving event with the
- current clock time.
-
-
- OVERVIEW
- The Protocol Editor page is accessed from the Edit menu of the Librarian
- Page, and is used to create or modify the protocols used by the Librarian
- page when sending or receiving data dumps from other MIDI devices. Think
- of this page as an extension of the Librarian Page.
-
- (see Librarian Page / Edit Menu / Create Protocol)
- (see Librarian Page / Edit Menu/ Modify Protocol )
-
- Creating new protocols is not easy. Fortunately, you probably won't
- need to. In most cases you will be using protocols created by other
- people, while you spend your time creating music instead. Likely as not,
- you can take full advantage of Music-X without ever reading this chapter.
-
- Suppose, however, that you have an instrument for which you cannot obtain
- a protocol. There are several options open to you:
-
- l. Hire a MIDI Guru.
-
- 2. Get a MODEM and call a BBS or online information service such as
- PLINK
- (People-Link) or PAN (Performing Artists Network) or BIX (Byte
- Information Exchange) to name just a few.
-
- 3. Find a friendly neighbourhood whiz kid.
-
- 4. Join a User Group; they often have droves of unsuspecting
- volunteers.
-
- 5. Write your own protocol.
-
- If you wish to write protocols yourself, you'll need some knowledge of
- basic MIDI and computer related concepts. For example, many
- manufacturers publish the specifications for their instruments using the
- hexadecimal (base l6) or even binary (base 2) numbering systems. It is
- beyond the scope of this manual to describe technical background such as
- numbering systems; however the information is readily available in most
- computer bookstores or in the library.
-
- WHAT IS SYSTEM EXCLUSIVE
- When the MIDI standard was being written, it was realised that it would
- be impossible to think of everything that anyone would possibly want to
- communicate via MIDI. Therefore a loophole or exception was built into
- the language. A system Exclusive message (often abbreviated to SysEx;
- pronounced ("sis-ex") can be used to temporarily suspend the rules and
- let one instrument communicate with another using codes only they
- understand. This is like a Roland synthesizer saying "Don't listen, you
- guys - this is Roland talk!". That means that even though MIDI is a way
- for manufacturers to design their own non-standard communication formats
- to be used within MIDI. Synth manufacturers have taken advantage of the
- SysEx loophole to implement data transfers between instruments of the
- same make and model. The Protocol Editor and Librarian Page are designed
- to work with the data transfers.
-
- All SysEx messages begin with the MIDI "Start of System Exclusive" code
- (FO). Following that is the manufacturer's ID number, and then a series
- of bytes, the formatÜjÜof which depends on the manufacturer's ID.
- Finally, an "End of System Exclusive" (EOX) code is used to terminate the
- SysEx message.
-
- Modern instruments have lots of different kinds of information in them
- besides sounds. For example, micro tuning data, performance data, voice
- parameters, sample data, etc. Each protocol is designed to support one
- kind of date transfer. It is often the case that a different protocol
- will be required for each type of information stores in the instrument.
-
- The designer of a protocol is free to use the parameters specified by the
- Librarian Page Channel: buttons, PREVIEW button, and Program indicator in
- whatever manner he or she chooses. They don't necessarily have to be
- used in the manner in which they are labelled.
-
- THE FACE OF THE PROTOCOL EDITOR
- The Protocol Editor Page has four main areas, each containing a number
- of text boxes. The topmost area contains general information about the
- instrument, the name of the protocol, which Patch Editor to use if any,
- etc. The second area contains message strings used in receiving data
- from the instrument. The third area contains message strings used in
- sending data to the instrument, and the fourth area consists of "sub-
- strings" which are messages that are used inside of other messages.
-
- TITLEBAR
- The title bar is found along the top of all Music-X pages to remind one
- where one is. In the Protocol Editor, the name of the current protocol
- being edited appears here as well.
-
- FILEMENU
- Protocol files are kept in the protocols directory on the Music-X
- program disk. If you write or collect more than can fit on your master
- disk you may wish to move the directory to another disk.
-
- (See Advanced Users / Workbench Tool Types / PROTODIR)
-
- Load...
- (RightAmiga-"L" from the keyboard)
-
- This menu item is used to Load a protocol from disk. Choosing Load...
- calls the file requester titled "Load Protocol". The current protocol
- name is offered as a default file name by the requester. Loading a
- protocol from disk overwrites the protocol currently in the editor.
-
- (See File Requester chapter)
-
- Save
- (RightAmiga-"S" from the keyboard)
-
- This menu item is used to Save a protocol to disk. choosing Save...
- calls the file requester titled "Save Protocol". The current protocol
- name is offered as a default file name by the requester. When naming new
- protocols, the suggested convention is Instrument Name.TransferType.
- Musix-X also saves an icon for the protocol file in the same directory.
- Icons for protocol files look like a sheet of l's and 0's.
-
- (See File Requester chapter)
-
- Exit
- (RightAmiga-"X" from the keyboard)
-
- This menu item is used to leave the Protocol Editor and go back to the
- librarian. If you have just created a new protocol, be sure to save it
- first. The Protocol Editor clears the message strings on exit.
-
- NAMEPANEL
- This panel is used to hold protocol information other than the actual
- message strings. It contains a number of text boxes which are described
- below.
-
- Protocol Name:
- Here's where you name your protocol. This name is used when saving the
- protocol to disk. The standard (but not mandatory) format for protocol
- names is: instrument.datatype. Example: "CZ-l000.Voices" is the file
- name for the protocol that sends and receives CZ-l000 individual voice
- dumps.
-
- Normal Program:
- This text box contains one of the substrings substituted for the string
- variable "PG" in a message string. This substring is used in a message
- string when the PREVIEW button is turned off in the Librarian Page.
-
- PREVIEW PROGRAM;
- This text box contains the other substring substituted for the string
- variable "PG" in a message string. This substring is used when the
- PREVIEW button is turned on.
-
- PATCH EDITOR NAME:
- This is where you attach the appropriate Patch Editor (if there is one)
- to the current protocol by typing the Editor's pathname. The pathname is
- stored along with the protocol, imbedded in a library file, when the
- library file is saved. This allows the Librarian to locate the Patch
- Editor when the library file is loaded and edited later. If the pathname
- is wrong, the Librarian will not be able to locate the Patch Editor
- even if it exists.
-
- (See Librarian Page / Edit Menu / Edit Entry)
-
- NAME OFFSET:
- This numeric indicator is used to describe the location of name data
- within the body of data in a library entry. It is used by the Librarian
- Page when displaying the names of patches or programs in the individual
- library entries.
-
- This number represents the number of bytes that must be skipped from the
- beginning of the library data to find the beginning of the name. A name
- offset of 0000 means the name starts at the beginning of the data.
- Various synths imbed the name parameter inÜjÜdifferent portions of the
- bulk data dump.
-
- NAME LENGTH
- The Name Length indicator is used with the Name Offset indicator to
- describe the location and length of name data imbedded with a library
- entry. It ranges from 0 to 3l. A name length of zero can be used in
- cases where there is no name in the bulk data, as when transferring
- sample dumps etc.
-
- CHAR MAP:
- Read this as "Character Map"
-
- Various manufacturers use different numbers to represent the alphanumeric
- characters that are considered legal in patch names. Not all use the
- standard ASCII format as used on most computers. This Char Map string
- gadget can be used to define the set of legal characters for that synth.
- If the synth uses the ASCII character set, then leave this field blank.
-
- The contents of the gadget are used to describe, to Music-X, the
- character set that the instrument uses. This is done by typing the order
- of letters that it uses.
-
- The ordering of the letters is described by entering a series of letter
- pairs, separated by commas, each pair representing a range of characters
- which are in the instrument's character set. For example, if the
- character "A" is the first character in the instrument's character set,
- and the "Z" is the twenty-sixth character, then the first entry in the
- Char Map string will be "AZ", indicating the letters "A" through
- "Z". If the twenty-seventh character was the letter "a" (lower case),
- which then proceeded through "z" (lower case), the next entry would be
- "az". That would make the total string so far "AZ,az".
-
- When you describe ranges of characters, you can only connect ranges if
- they can be expressed contiguously in ASCII. Otherwise, the Amiga, which
- uses ASCII, will not understand. If the ordering of the letters cannot
- be expressed as a contiguous ASCII range, then you'll need to define one
- or more ranges whose widths are one character wide. This is done by
- delimiting such ranges with the same character (as in "AA").
-
- You can also enter characters with a 2-digit hexadecimal value, by
- proceeding them with a backslash ("/"). For example, "/20", which is the
- ASCII value for a space character. This is handy for entering characters
- like the comma (",") which might be misinterpreted.
-
- RECEIVE PANEL
- The RECEIVE panel is used to define the set of incoming and outgoing
- message strings that will be used during transfer when the RECEIVE button
- is clicked in the Librarian Page. It contains four string gadgets that
- can be edited in the normal fashion. All numbers in the string panels
- are in hexidecimal. This is the adopted format because most instrument's
- System Exclusive formats are published in hex.
-
- Following are short descriptions of the strings. They are described more
- fully in the "Music-X Protocol Language" section of this chapter.
-
- Initiate:
- This string describes the request to receive, sent by Music-X.
-
- Confirm
- This string describes the confirmation message sent by the synth to
- indicate that it is ready to send data.
-
- Ack:
- Read this as "Acknowledge."
-
- This string describes the acknowledgement message sent by Music-X that it
- is ready to receive data.
-
- Data
- This string describes the format of the data that the synth will be
- sending.
-
- SENDPANEL
- The SEND panel is used to define the set of incoming and outgoing
- message strings that will be used during transfer when the SEND button is
- clicked in the Librarian Page.
-
- Initiate:
- This is the request to send, sent by Music-X.
-
- Confirm
- This is the "OK, ready to receive" confirmation that the synth sends (if
- any).
-
- Data:
- This is the format for the data that Music-X will be sending.
-
- Ack:
- This is the acknowledgement that the synth sends to say that it is ready
- to receive more data.
-
- SUB-STRINGS PANEL
- Sometimes there are strings that need to be used often in the RECEIVE or
- SEND panels. These message fragments can be written into the SUB-STRINGS
- panel, and then be represented in the other message strings as
- abbreviations.
-
- Prefix:
- The abbreviation for Prefix is "PR". Anytime "PR" appears in a send or
- receive string, the prefix string is substituted. A Prefix string
- usually consists of a "Beginning of SysEx" byte (FO), then a
- manufacturer's ID.
-
- Cancel:
- For those synthesizers which understand such things, this substring is
- used to hold the Cancel string which is sent when Music-X wants to halt
- the transfer process, perhaps as a result of a user abort. This string
- cannot be imbedded in any other message strings; it is used automatically
- when needed.
-
- #l:
- This is user string number one. Its contents are substituted for the
- abbreviation "//l" when used in the other panels.
-
- #2:
- This is user string number two. Its abbreviation is "#2".
-
- PROTOCOL LANGUAGE
- Technically speaking, a Music-X protocol is a description of the
- messages that need to be sent to an instrument to communicate with it.
- This sub- chapter will explain the construction of those messages using
- the protocol language built into Music-X.
-
- Protocols, Messages and Strings
- Each protocol consists of a number of "messages". Each message is a
- string of codes to be either sent to or received from the instrument.
- You create a protocol by creating the correct message strings for that
- instrument, and typing them into the Protocol Editor. The message
- strings are lists of numbers or mathematical expressions, separated by
- commas. The numbers must be in hexadecimal (since that's the way
- synthesiser manufacturers print out their code descriptions). Once typed
- in, Music-X can use this information to communicate with the instrument.
-
- Finding out about MIDI formats
- Most manufacturers of MIDI equipment publish the system exclusive codes
- needed to communicate with their instruments. Some manufacturers publish
- these codes in the back of the manual, or in a separate book that comes
- with the instrument. Others require that you write to them directly to
- obtain a copy of the system exclusive format.
-
- Sending and Receiving
- Communicating with some synthesisers is very simple. When you want to
- send them a message, you simply send it, and when you want to receive a
- message, you send a special message to the synthesiser saying "please
- send me some data", and the synthesiser sends you the data, which you
- receive and store away.
-
- However, most instruments are more complex than that. Usually there is
- some sort of "handshaking". Handshaking is like good manners, in that
- there is a lot of "please and thank-you" going on. Here is an example of
- handshaking between the computer and a synthesiser:
-
- Computer: Please send a message.
- Synth: Are you ready for the message?
- Computer: Yes, send the first part.
- Synth: Here it is. <data>
- Computer: please send the next part.
- Synth: Here it is. <data>
- Computer: Please send the next part.
-
- (repeat previous two steps for a while)
-
- Synth: Here it is, this is the last part. <data>
- Computer: Thank you very much.
- Synth: You're welcome.
-
- Now, that was a somewhat anthropomorphised version of the way a protocol
- is used. In actuality, it would look something like this:
-
- Computer: FO 44 l2 l7 l9 F7
- Synth: FO 44 l3 l9 00 00 l8 F7
-
- (And so forth. You get the idea).
-
- Now, not all instruments go to this extreme. Many of the messages used
- in the above example are often absent on a particular synth. Other
- synths have special messages like "I have a problem, stop sending
- messages for a while," or "Something's wrong, cancel the transfer," or
- "Eh? I didn't get that last message quite right."
-
- The message strings are used to tell the computer how to send and
- receive messages of this type. Because of handshaking, each transaction
- between the computer and the synthesiser will often consist of a number
- of messages travelling in both directions. For example, when sending
- data to the synthesiser, the computer will actually receive as well as
- send messages, although the important data will be in the messages that
- are sent. It will be necessary for you to describe correctly all of the
- incoming and outgoing messages, for both types of transactions.
-
- Music-X protocols are based on a "dialogue model". That is, as in a
- conversation; each person takes turns talking with the other person.
- Here is the overall structure of a transaction to RECEIVE data:
-
- l. Music-X requests data.
- 2. Synthesiser Acknowledges Music-X.
- 3. Music-X indicates that it is ready to accept data.
- 4. Synth sends some data.
-
- (Steps 3 and 4 are repeated until all data is received).
-
- These 4 steps are labelled Initiate, Confirm, Ack (Acknowledge), Data.
-
- Any one of the messages may be omitted, although omitting the last one
- is not meaningful. For example, if message number 3 (Confirm) is
- omitted, then it is assumed that the synthesiser will continue to send
- data without waiting for a confirmation. If message number 2 (Ack) is
- omitted, then it is assumed that there is no acknowledgement sent from
- the syunthesiser; that the first thing it will send will be a data
- message. If message l is omitted, then it usually means that the
- synthesiser required "manual MIDI control". That is, you actually have
- to press a button on its front panel to get it to send the data, and
- there is no actual message that can be sent from the computer to get it
- to send data.
-
- *Note: There is another way that the four messages can be used. Some
- synthesisersÜjÜsend their data as two separate messages which are
- different. This is often the case when an instrument comes out which is
- an advanced version of an older model - one message is sent which
- represents the old format information, and the second message is
- additional information which applies only to the new model.
-
- There is a way (explained below), whereby you can use the Ack message as
- an additional Data message which is different from the regular data
- message.
-
- The overall structure of a transaction to SEND data to the synthesiser
- is slightly different:
-
- l. Music-X indicates that it will send data.
- 2. Synth responds that it is ready.
- 3. Music-X sends some data.
- 4. Synth indicates that it got the data OK.
-
- (Steps 3 and 4 are repeated until all data is sent).
-
- Like before, messages #l and #3 are outgoing, while messages sends #2
- and #4 are incoming, but in this case the bulk of the actual data is in
- //3 instead of #4. These 4 messages are named "Init", "Confirm",
- "Data", and "Ack". ("Data" and "Ack" have exchanged places).
-
- Like the receive transaction, any of the messages may be omitted.
- Omitting the first two messages is often done in cases where the
- synthesiser does not handshake, but simply expects the data to be sent.
- Omitting the last message is often done in cases where the data is sent
- as a single message, or when no confirmation of individual data
- blocks is needed.
-
- Limitations of System Exclusive Messages
- Because of the way MIDI is structured, each system exclusive message
- must start with the hexadecimal code "FO" meaning "start of system
- exclusive message". Each code, or byte, in the message following that
- must consist of a series of eight bits, and the most significant bit must
- be zero. Any byte sent with a most significant bit that is not zero
- (except Real-Time messages such as Active Sensing) will automatically
- terminate the system exclusive mode. Due to this fact, all of the bytes
- within the body of the message must have values which are between 0 and
- l27. (There are 7 bits available, and each bit can be on or off, which
- makes l28 combinations of ons and offs. Since we include zero as one of
- the numbers, we have to leave out the number l28.So, 0-l27).
-
- Unfortunately, many instruments (for example, samplers) have parameters
- or data values that are larger than l27. These instruments solve the
- problem by breaking up the large number into two smaller numbers, each of
- which has less bits than the large one. The way the numbers are broken
- up differs for different instruments. You'll need to be aware of this to
- understand some of the explanations that are to follow.
-
- The LookOut Utility
- A programme called "LookOut" has been included on the Music-X Utilities
- disc. It will help you to develop new protocols. What LookOut does is
- open up a window which prints out error messages and status messages when
- a protocol is activated, as well as showing the actual bytes that were
- sent and received. You can use LookOut as a debugger to correct errors
- in your protocols.
-
- *Note: Don't expect to get a protocol correct on the first try - nobody
- has yet.
-
- FORMING A MESSAGE STRING
- A message string consists of fields separated by commas. Commas may
- only be used as separators and may not occur within parenthesised
- expressions. Spaces between the fields are ignored. Each field is
- actually a command to Music-X, and can consist of either a hexidecimal
- number, a mathematical expression, or a special command. Fields
- consisting of just a hexadecimal number simply mean "Send this number."
- For example:
-
- FO,44,l2,45
-
- This message string simply means that the message consists of the code
- "FO", followed by the code "44", followed by "l2", followed by "45". If
- the message was an outgoing one, the computer would send those codes to
- the synthesiser. If it was an incoming message, then instead of sending
- those codes, the computer would know to expect them.
-
- It is also possible to specify codes that are longer than one byte by
- placing the codes in parentheses. For example, the field
-
- (OFOF.3)
-
- means send the hexadecimal number "OFOF" as a three-byte code. The "3"
- is a "length specifier" - it indicates the length, in bytes, of the field
- in the message string. All length specifiers must be preceeded by a
- period and must be part of a field surrounded by parentheses. Length
- specifiers can range from l to 5.
-
- Because of the way the Protocol Language works, all multi-byte messages
- are broken up into chunks of seven rather than eight bits, except for the
- first byte, which is sent as a full eight bits. So, the bytes "OFOF",
- which, in binary, are actually "0000llll0000llll", are sent as:
-
- "00000000" (8 bits)
- "000llll0" (7 bits + leading zero bit)
- "0000llll" (7 bits + leading zero bit)
-
- The reason for this is that all of the byte codes in a system exclusive
- message, except for the first one, must have the first bit as zero. So
- that only leaves seven bits. This system of encoding works well with
- popular synthesiser formats.
-
- ASCII Strings
- You can also put an ASCII string into a field, in which case the string
- is put into the message, character by character. The string must be
- separated by double quotes.
-
- ("").
-
- An ASCII character surrounded by single quotes, such as 'A' means to use
- the numeric value of that ASCII character (just like in the C language).
- Singly quoted letters may be used in expressions, and may have length
- specifiers.
-
- Examples:
- FO,44"AAAA",l0
-
- produces the codes:
-
- FO 44 4l 4l 4l 4l l0
-
- (The ASCII code for the letter "A" is 4l in hexadecimal).
-
- ('A'.3) - means "take the value 4l and insert it into the message for 3
- bytes".
-
- Expressions
- Message fields can also contain mathematical expressions (in
- parentheses). For example, instead of including a "2" in the message,
- you could include the expression "(l+l)". Expressions can also have a
- length specifier, as in: "(5+9*3.5)" which means, "Take 5, add 9,
- multiply by 3, and put the result into the next 5 bytes of the message.
-
- All of the terms in an expression must be integers, and evaluation is in
- left to right order, (except for portions within parentheses, which are
- evaluated first (parentheses can be nested (to any level))). The
- operators supported are:
-
- + Add
- - Subtract (or Negative)
- * Multiply
- / Divide
- % Modulus
- ! Boolean NOT
- & Boolean AND
- ^ Boolean Exclusive OR
- Boolean OR
- << Logical Bit Shift Left
- >> Logical Bit Shift Right
- () Parenthesized expression
- => Assignment - Variables can be assigned values, as in (A+l=>A)
- where the value of A + l is assigned to A.
-
- Wild Card Character
- Sometimes you don't care about a particular incoming code from the
- synthesizer, or don't know what that code will be. There is a wildcard
- command that you can use instead of a number. The command is "##". You
- can use it by itself, in which case it causes one byte of the message to
- be ignored, or in parentheses with a length specifier, in which case the
- length specifier indicates how many bytes are to be ignored. For
- example:
-
- FO,4l(##.3),42
-
- This tells Music-X to expect two bytes (FO and 4l), then ignore the next
- three bytes, then expect the byte "42". Wildcards can only be used on
- incoming messages; otherwise, a protocol error will result.
-
- Numeric Variables
- A numeric variable is a single letter used to represent a numeric value.
- The value represented by a variable may vary (thus "variable").
- Variables can be used within message strings to allow the string to
- change based on some external circumstance. For example, the message
- string used by Music-X to initiate a programme dump by a synthesizer
- could change depending upon which programme you wished to download.
- Whenever a variable is used in a message string, the current value of
- that variable is substituted into the message string. For example:
-
- l2,33,n,02
-
- In the above example, the third byte of the message will be whatever the
- variable "n" is currently set to. Variables can also be used with length
- specifiers, as in "(n.4)".
-
- All of these variables have pre-defined meanings. You cannot create
- your own variables, as you would in a programming language. The meanings
- of the variables are as follows:
-
- "K" or "k" - Checksum
-
- Many instruments use checksumming as a way of insuring that the
- data has been transferred correctly. A checksum is created by taking all
- or part of a message and adding up those codes numerically to form a sum.
- This sum is then sent along with the message. When the message is
- received, the receiver adds up the codes, and checks to see if his sum
- matches the checksum, in which case the receiver knows that message got
- through OK. This can be important if the messages are very long, because
- a slight power fluctuation or static shock to the computer could cause a
- byte to be received incorrectly.
-
- To use checksumming, you need to put braces (the"(" and ")"", or
- "curly breaker" characters) around the part of the message which is to be
- summed. Multiple fields may be enclosed in braces and checksummed.
- Example:
- l2,34,(02,n.55)
-
- This causes the third through fifth byte of the message to be
- added together and placed into the variable "K".
-
- Many synthesizers use a negative checksum, which means that the
- checksum value sent is the negative sum of the message bytes. This has
- the advantage that the message bytes and the checksum added together
- equals zero. To form a checksum like this, use an expression (-K&7f.l)
- which means "Take the sum "K", negate it, logical AND it with 7F (which
- turns off the topmost bit, necessary for MIDI system exclusive data), and
- insert it into the message string for l byte.
-
- "J" or "j" - Special Checksum
-
- This variable functions the same as "K", except that the checksum
- is calculated by using boolean XOR rather than addition.
-
- "M" or "m" - Total Blocks Sent
- This variable starts at zero and is increased by l for each block
- or section of data that is sent to the instrument.
-
- "N" or "n" - Channel Number
- This variable is set to the currently selected channel in the
- Librarian Page. (Actually, it's one less than that, as channel numbers
- actually start at zero, but are labelled starting from one).
-
- "O" or "o" - Patch offset, only in send
- This variable is only used in special protocols that work in
- cooperation with certain patch editors. It is used when a patch editor
- wants to send a "partial update". This allows a patch editor to change
- some of the data in a patch, and only send to the instrument the part
- that was changed. The "O" variable indicates the start of the changed
- section. For example, if the patch data was 488 bytes long, and the
- bytes 52 through 69 had been changed, then "O" would be set to 52.
-
- "P" or "p" - Program Number
- This variable is set to one less than the current value of the
- Programme: indicator in the Librarian Page. It ranges from 000 to l27.
-
- If Use Original Program #s is selected, in the Librarian Page /
- Options menu, and we are sending data, the variable "P" will actually be
- set to the original programme number that the patch was received from, as
- shown in the library file.
-
- "Q" or "q" - Send Data Size
- This variable indicates the size of the data block that is to be
- sent to the instrument. Normally, this will be the full size of the
- patch, but it could be less for "partial updates". This variable is only
- used to inform synthesizers that need to be told how much data to
- receive.
-
- "R" or "r" - Total Bytes Received
- The total number of data bytes received so far in the transaction
- (after packing if used with "Y" data).
-
- "S" or "s" - Total Blocks Received
- The total number of data bytes sent so far in the transaction
- (after packing).
-
- "U" or "u" - Total Blocks Received
- This variable starts at zero and is increased by l each time the
- protocol goes through the Ack-message/Data-message cycle.
-
- "V" or "v" - Value Last Received
- This variable is set to the value of the last data byte received.
-
- String Variables
- Another type of variable that can be used in a protocol specification is
- a string variable. Each string variable corresponds to one of the
- substrings in the bottom panel of the Protocol Editor. For example, the
- string variable "PR" stands for "Prefix". Whenever a message field
- contains the letters "PR", the contents of the Prefix: message text box
- will be substituted in its place. Message strings can get very long in
- some cases, as well as very repetitive, so it's handy to be able to
- define commonly used parts of messages. There are four string variables.
- They are as follows:
-
- "PG" - Programme string
- This variable will be substituted with one of two strings,
- depending upon whether the PREVIEW button in the Librarian Page is set.
- If the PREVIEW button is set, then the message string labelled Preview
- Programme: will be used; otherwise, the string labelled Normal Programme:
- will be used. This will allow the message protocol to vary based on the
- setting of the PRE-VIEW button. In many instruments, the "temporary
- area" is accessed by altering the programme number sent to the
- synthesizer.
-
- "PR" - Prefix
- This variable will be substituted with the contents of the Prefix
- message string. In almost all synths, the first few bytes of every
- message that the synth will send or receive are the same as the first few
- bytes of all of its other messages. So to save typing, you can put those
- bytes into the prefix string.
-
- "#l" - User string l
- This variable will be substituted with the contents of the #l:
- message string.
-
- "#2" - User string 2
- This variable will be substituted with the contents of the #2:
- message string.
-
- String variables can be used by themselves in a field, or as a
- component of an expression if the resulting string is properly formed.
- For example, you could use "(PR*6)" if PR was "04" but not if PR was
- "04,03" (because you can't have a comma within a parenthesized
- expression).
-
- Data Variables
- Data variables represent data that is to be sent or received. When
- received, this is the actual data that will be stored in the library
- entry; all other parts of the system exclusive message (header checksum,
- Ack, etc) are discarded after being used. When being sent, this data is
- read from the library entry, and inserted into the transfer at the
- correct point. Data variables are specified by the letter "X" or "Y".
- Each variable must be used in an expression followed by a length
- specifier, and surrounded by prentheses, and indicates how many bytes of
- data are to be transferred in each block. In addition to a length
- specifier, the Data variables may have an "offset" specifier, and a
- "total" specifier. The format for Data Transfer message fields can be as
- follows (including parentheses):
-
- (Data.Length)
- (Date.Length:Total)
- (Data.Length.Offset)
- (Date.Length.Offset:Total)
-
- Data
- There are currently two forms of Data variables. Each can be
- used for sending or receiving.
-
- The "X" command means the data is transferred normally, i.e. not
- encoded in any way. (This requires that the data is already in normal
- format with the leading bit zeroed.)
- The "Y" command means the data is transferred in "nybbleized"
- form. Each byte of the data is sent or received as two bytes. The first
- byte contains the rightmost four bits of the original data byte, and the
- second byte contains the leftmost four bits. So, a command of (Y.l00)
- will actually cause 200 bytes to be transferred, however these will be
- packed back into l00 bytes after transfer. Length specifiers, when used
- with "Y" data, always specify the number of bytes in packed form.
-
- Length
- The Length specifier follows the command field and is separated
- from it by a period. It indicates the size of the data block to be
- transferred. If there is only one block then it indicates the total size
- of the data.
-
- A length specifier of zero indicates a special case that causes
- the Librarian to ignore EOX (F7H, End of System Exclusive) and continue
- to capture everything until the receive button is turned off. For
- example:
-
- (x.0)
-
- Total
- The Total specifier can be used during receive only. It follows
- either the Length specifier or the Offset specifier. It must be last in
- the field and is separated from the previous specified by a colon (":").
- It indicates the total number of bytes of all data blocks to be received.
- If using nybbleized data, it specifies the total number of bytes in
- packed form. Music-X will continue to spend and receive messages until
- the total amount of data transferred is equal to or greater than this
- number.
-
- Offset
- There are some cases when data needs to be sent to an instrument
- in a different order than it was received. The Offset specifier is a way
- of implementing that.
-
- The Offset specifier is only used when sending data. It must
- follow the Length specifier and is separated from it by a period. The
- Offset specifier can be positive or negative, and is used to read data
- starting from any point in the library file.
-
- Normally, Music-X sends out data sections sequentially, starting
- from the beginning of the library file. For example, if the patch data
- record was l00 bytes long, and you instructed Music-X to send 25 bytes
- (say using (X.25)), the first time the message was transmitted Music-X
- would send bytes l-25 of the data. The second time it would send bytes
- 26-50, and so on. However, if you specified an offset of l0, as in
- (X.25.l0), it would send bytes ll- 35 the first time, bytes 36-60 the
- second time, etc.
-
- The way this works is, there is a "counter" that counts the
- number of bytes of library data sent. This counter is identical to the
- "S" variable. It starts at zero and increases by one with every byte.
- This counter is normally also used to point to the next byte of library
- data that is to be sent. When an Offset specifier is used after a Data
- Variable, the Offset and the counter are added together to calculate
- which byte in the library file to send.
-
- *Note: Refer to the TX-8lZ.Voices protocol for an example of
- this.
-
- Special Commands
- In addition to the above, there are a number of miscellaneous special
- commands:
-
- "W" - Wait
- Tells Music-X to wait for a specified time. The length specifier
- is used as a delay time, and is in 50ths of a second. For example:
-
- (W.50)
-
- This field causes Music-X to wait for one second before
- continuing with the message.
-
- "**" - Sentinel
- Sometimes it is not possible to tell exactly how long an incoming
- message is going to be, as some instruments send messages of varying
- length. For this reason, the "sentinel" command has been included. If
- you know that a particular byte value is always going to be at the end of
- a message, you can use the sentinel command to inform Music-X that it
- can use that value to detect when the message ends. To use sentinel,
- place the "**" immediately before the value to be used. For example:
-
- 44,56,73,99,**F7
-
- This example tells Music-X that the first "F7" received will
- indicate the end of the message. Sentinel values are usually the last
- byte of a message.
-
- "@@" - Special Sentinel
- This is used to indicate the last data block in the transfer. To
- use sentinel, place the "@@" immediately before the value to be used.
- When this value is detected during receive, the protocol breaks out of
- the Ack- message/Data message cycle.
-
- When this value is to be used during send, the value is sent with
- the last block at the specified point.
-
- "FIN" - Send Final Message.
- Some synthesizers require that when receiving data from the, a
- final "Ack" message be sent after all data has been received. the FIN
- command, if included in a message, will enable this behaviour. The "FIN"
- command can be anywhere in the "Ack" message.
-
- PROTOCOL LANGUAGE SUMMARY
-
- Field Typesand Literals
-
- Literal Values
-
- Hexadecimal number = numeric value
- Singly quoted character(s) (") = literal ASCII value
- Double quoted character string ("") = literal byte string
-
- Expression Operators
-
- + = Add - = Subtract (or negative)
- * = Multiply
- / = Divide
- % = Modulus
- ! = Boolean NOT
- & = Bollean AND
- ^ = Boolean Exclusive OR
- = Boolean OR
- << = Logical Bit Shift Leaf
- >> = Logical Bit Shift Right
- () = Parenthesized expression
- >= = Assignment
-
- Substring Codes
-
- PR = Prefix Substring
- PG = Programme Substring
- #l = User String #l
- #2 = User String #2
-
- Variables (upper or lower case allowable)
-
- J = Exclusive-OR checksum
- K = Additive Checksum
- M = Total Blocks Sent
- N = MIDI Channel Number
- 0 = Patch Offset
- P = Programme Number
- Q = Number of Bytes to Send
- R = Total Bytes Received
- S = Total Bytes Sent
- U = Total Blocks Received
- V = Value Last Received
-
- Data Type Codes
-
- X = Send/Receive Normal Data
- Y = Send/Receive Nybbleized Data
-
- Misc Field Type Codes
-
- ** - Sentinel
- @@ = Special Sentinel
- FIN = Send Final Acknowledge after transfer complete
- ## = Wildcard
- W = Wait
-
- Checksum Delimiters
-
- ( = Beginning Checksumming un-encoded data
- ) = End Checksumming un-encoded data
- (( = Begin Checksumming nybbleized data
- )) = End Checksumming nybbleized data
-
- MessageStringSyntax:
-
- The following describes the syntax, or grammar of the message strings.
- Each description begins with the name of a syntax component, followed by
- a colon. Below each of these is the symbol or list of symbols which
- define the legal ways in which the syntax component can be formed.
- Groups of symbols in brackets ("()") are optional, ellipsis ("...")
- indicate that more such symbols may follow, and italicized words
- represent other syntax components. The syntax components misc-field-
- type-code, substring-code-variable,literal- value and expression are
- defined in the previous section.
-
- Message string:
- field (,field)...
-
- field:
- literal-value
- substring-code
- variable
- misc-field-type-code
- (expression)
- (expression.length)
- (variable.length)
- (misc-field-type-code.length)
- (data-type-code(length(.offset))(:total))
-
- length:
- expression
-
- offset:
- expression
-
- total:
- expression
-
- TransferModels:
-
- Receive:
-
- Init - Initiate - tell instrument to initiate data transfer.
- Conf - Confirm - instrument indicates it's ready.
- Ack - Acknowledge - tell instrument to send next block
- Data - Receive Data - data sent by instrument.
-
- (Ack & Data repeat until end of transfer detected).
-
- Send:
-
- Init - Initiate - alert instrument to receive data transfer.
- Conf - Confirm - instrument indicates it's ready.
- Data - Send Data - data sent to instrument
- Ack - Acknowledge - instrument ready for next block.
-
- (Data & Ack repeat until all data sent).
-
- KEYBOARD EQUIVALENTS
-
- SYSTEM MESSAGE REQUESTERS | RightAmiga-"L" = (L)ibrarian Page
- RETURN for rightmost button or OK | RightAmiga-"Q" = (Q)uit Music-X
- | RightAmiga-"P" = Loan (P)erformance
- SEQUENCER PAGE | RightAmiga-"V" = Sa(v)e Performance
- ESC (Escape key) = All notes off | RightAmiga-"O" =(O)utput Channelizer
- | Function key Fl = Set Punch-In
- "B" = P(B)EGIN | Function key F2 = Set Punch-Out
- "E" = (E)ND | RightAmiga-"C" = (C)opy Sequence
- "1" - CUE(l) | RightAmiga-"X" = E(x)tract Sequence
- "2" = CUE(2) | RightAmiga-"Z" = Togle (Z)ero Origin
- "3" = CUE(3 |
- "4" = CUE(4 | CursorUp = Move up through sequence
- "=" = SET | list
- | CursonDown = Move down through list
- SPACE BAR = PAUSE | SHIFT-CursorUp = Page up through
- "(" = Rewind | list
- "P" = (P)LAY | SHIFT-CursonDown = Page down through
- ")" = Fast Forward | list
- "R" = (R)ECORD |
- "S" = (S)TOP | RECORDER REQUESTER
- |
- SHIFT-"S" = (S)TORE | "G" = (G)O
- SHIFT-"E" = (E)DIT | "C" = (C)ANCEL
- SHIFT-"D" = (D)ELETE |
- SHIFT-"P" = (P)REVIEW | SEQUENCE SELECTOR
- SHIFT-"R" = Clock:(R)elative Clock |
- SHIFT-"A" = Time: (A)bsolute Clock | "O" = (O)K
- | "C" = (C)ANCEL
- RightAmiga-"." = Suspend Music-X | CursorUp = Move up through sequence
- RightAmiga-"S" = (S)equencer Page | list
- RightAmiga-"F" = (F)ilters Page | CursorDown = Move down through list
- RightAmiga-"A" = (A)miga Samples Page | SHIFT-CursorUp = Page up through
- | list
- | SHIFT-CursorDown = Page down through
- | list
- |
- | SUSPEND WINDOW
- |
- | RETURN (Return key) = RESUME
- OUTPUT CHANNELS | RightAmiga "T" = S(t)ore Sequence
- | RightAmiga-"R" = (R)ecall Sequence
- "O" = (O)K | RightAmiga-"X" = E(x)it Editor
- "C" = (C)ANCEL | RightAmiga-"B" = (B)ar Editor
- "N" = (N)0, CANCEL | RightAmiga-"E" = (E)vent Editor
- | RightAmiga-"K" = Cut
- BAREDITOR | RightAmiga-"C" = (C)opy
- | RightAmiga-"D" = (D)elete
- ESC (Escape key) = All notes off | RightAmiga-"P" = (P)aste
- | RightAmiga-"A" = Select (A)ll
- "/" = SetSig |
- "A" = (A)dd | CursorUp = Move current event up in
- "I" = (I)nsert | score
- "C" = Move (change) | CursorDown = Move current event down
- "V" = Remo(v)e | in score
- SHIFT-"L" = (L)ock | CursorLeft = Move current event
- "E" = S(e)lect | earlier in score
- "M" = (M)ark | CursorRight = Move current event
- "U" = (U)nmark | later in score
- HELP (Help key) = Restore last | SHIFT-CursorUp = Move note up l
- deleted event(s) | octave
- "Z" = (Z)oom+ | SHIFT-CursorDown = Move note down l
- SHIFT-"Z" = (Z)oom- | octave
- SHIFT-"S" = (S)nap |
- "Q" = (Q)uiet | EVENT EDITOR
- "L" = Scro(l)l |
- "G" = (G)rid | "/" = SetSig
- SHIFT-"P" = (P)arams | "D" = (D)up
- SHIFT-"R" = (R)epeat | "V" = Remo(v)e
- SPACE BAR = PAUSE | HELP (Help key) = Restore last
- "P" = (P)LAY | deleted event(s)
- "R" - (R)ECORD | "M" = Select (think (M)ark)
- "S" = (S)TOP | "U" = (U)nmark
- "(" = BACK | "N" = U(n)do
- | "C" = S(c)roll
- RightAmiga-"L" = (L)oad Sequence | "G" = (G)rid
- RightAmiga-"S" = (S)ave Sequence | SHIFT-"P" = (P)arams
- RightAmiga-"N" = (N)ew Sequence | SHIFT-"R" = (R)epeat
- RightAmiga-"/" = Select Sequence | "Q" = (Q)ueit
- | SPACE BAR = PAUSE
- | "P" = (P)LAY
- | "R" = (R)ECORD
- | "S" = (S)TOP
- | ")" = STEP
- | "(" = BACK
- RightAmiga-"L" = (L)oad Sequence | RightAmiga-"L" - (L)oad
- RightAmiga-"S" = (S)ave Sequence | RightAmiga-"SA" = (S)ave
- RightAmiga-"N" = (N)ew Sequence | RightAmiga-"X" = E(x)it
- RightAmiga-"/" = Select Sequence |
- RightAmiga-"T" = S(t)ore Sequence | AMIGA SAMPLES PAGE
- RightAmiga-"R" = (R)ecall Sequence |
- RightAmiga-"X" = E(x)it Editor | ESC (Escape key) = All notes off
- RightAmiga-"B" = (B)ar Editor |
- RightAmiga-"E" = (E)vent Editor | RightAmiga=-"I" = Load (I)FF Sample
- RightAmiga-"K" = Cut (Kut) | RightAmiga "X" = Load Soni(x) Sample
- RightAmiga-"C" = (C)opy | RightAmiga "V" = Sa(v)e IFF Sample
- RightAmiga-"D" = (D)elete |
- RightAmiga-"P" = (P)aste | CusorUp = Move up through sample
- | list
- RightAmiga-"A" = Select (A)ll | CursorDown = Move down through
- | sample list
- |
- CursorUp = Move up through event list | LIBRARIAN PAGE
- CursorDown = Move down through event |
- list | ESC (Escape key) = All notes off
- CursorLeft = Move left through current| event
- | "S" = (S)END
- CursorRight = Move right through | "R" = (R)ECEIVE
- current event | "A" = (A)LL
- SHIFT-CursorUp = Page up through list | "V" = PRE(V)IEW
- SHIFT-CursorDown = Page down through | "P" = (p)rogramme:
- list | "E" = (E)dit Entry
- |
- QUANTIZER | RightAmiga-"N" = (N)ew
- | RightAmiga-"O" = L(o)ad
- "Q" = (Q)UANTIZE | RightAmiga-"V" - Sa(v)e
- "C" - (C)ANCEL | RightAmiga-"C" = (C)lose
- |
- KEYMAP EDITOR | PROTOCOL EDITOR
- |
- ESC (escape key) = All notes off | RightAmiga-"L" = (L)oad
- "U" = (U)NDO | RightAmiga-"S" = (S)ave
- "C" = (C)ANCEL | RightAmiga-"X" = E(x)it
- "O" = (O)K |
- "H" = S(H)OW |
- "R" = (R)ANGE |
- "S" = (S)ET |
- "1" = Keymap (l) |
- "2" = Keymap (2) |
- "3" - Keymap (3) |
- "4" = Keymap (4) |
-
-
- WHAT IS AN EDITOR?
- An editor provides a way to look into a sequence and manipulate the
- contents; it lets you "get at the guts" of a sequence. An editor may be
- used to correct a prerecorded sequence, or to create a new sequence from
- scratch.
-
- WHAT IS A SEQUENCE?
- A sequence is a list of things-to-do and when-to-do-them. These things-
- to- do are called "events". Events play notes, send programme changes,
- change the tempo, etc. When Music-X plays a sequence, it reads through
- the its and executes each event at the proper time.
-
- EVENT PARAMETERS
- Each event can have multiple attributes or properties. These properties
- are called "parameters". For example, a single note event has the
- parameters of start time, pitch, duration, MIDI channel, attack velocity,
- and release velocity.
-
- TWO EDITORS
- Music-X has two sequence editors, the Bar Editor and the Event Editor.
- Each editor provides a different way to look at the same events. One can
- switch between the Bar Editor and the Event Editor freely, using each for
- its strengths.
-
- EDITING SINGLE EVENTS
- Many events are displayed at once in the editor screens. In order to
- change the parameters of a single event, you first pick it out of the
- crowd. That event then becomes the "current event". The controls in
- each editor are designed to automatically configure themselves to the
- parameters of the current event. To edit the parameters of a single
- event, you make it the current event and then tweak the controls.
-
- EDITING MULTIPLE EVENTS
- It is possible to change the parameters of a group of events all at the
- same time. In order to do this the group must first be defined. There
- are two main ways to do this. The first way is to "select" the desired
- events individually until the group is complete. The second way is to
- "mark" a region of time. These methods are explained in more detail
- later. Once the group is defined, special editing functions can be
- called that operate on the group as a whole.
-
- THE EDIT BUFFER
- When you first choose to edit a sequence, by clicking EDIT in the
- Sequencer Page, a copy of the current sequence is written into the Edit
- Buffer and you are moved into one of the editors. The editors are then
- used to make changes to the Edit Buffer without affecting the original
- sequence. It is safe to experiment. When satisfied with the changes,
- you store the newly edited version of the sequence back over the
- original.
-
- *Note: The Edit Buffer is the same thing as the Record Buffer. In fact
- it is possible to edit the Record Buffer immediately after recording,
- without first storing it to sequence memory. Simply click EDIT from the
- sequencer page after recording, and when the safety prompt appears, click
- the EDIT IT option to edit the current contents of the Record Buffer.
-
- (See Sequencer Page / EDIT)
-
- BAR EDITOR OVERVIEW
- In the Bar Editor, notes appear as coloured bars - thus the name! (Not
- to be confused with "bar" meaning "measure".)
-
- The Bar Editor displays events graphically, as icons positioned in a
- two- dimensional time/pitch graph. Events can be added to, removed from,
- and repositioned in the graph using the mouse. This makes editing a
- sequence in the Bar Editor rather like using a paint programme; notes can
- be "painted" onto the score using the mouse as a brush.
-
- The rest of the Bar Editor chapter explains all the features of the Bar
- Editor Page one by one, roughly in the order that they are found on the
- screen (left to right, top to bottom).
-
- TITLEBAR
- The title bar is displayed along the top of all Music-X pages to show
- which page is currently being used. In the Bar Editor, the name of the
- sequence currently being edited appears here as well, following the word
- Sequencer:
-
- The Title Bar becomes the Menu Bar, containing menu titles, when the
- right mouse button is pushed. To access any menu on any page, press the
- right mouse button and point to the desired menu title in the Menu Bar.
- The chosen menu will "pull down", listing the available menu items. To
- chose a menu item, point to it, and release the right mouse button while
- the item is highlighted.
-
- FILEMENU
- The File Menu is used to move whole sequences in and out of the Edit
- Buffer. Sequences can be moved to and from disk using save and select.
- This menu is available from both editors and function identically in both
- cases.
-
- Following are descriptions of the items available in the File menu, and
- the functions that they initiate.
-
- Load...
- (RightAmiga-"L" from the keyboard)
-
- This function loads a previously saved sequence file into the Edit
- Buffer from disk so that it may be edited. The previous contents of the
- Edit Buffer are lost. Choosing Load... calls the File Requester. Use the
- File Requester to locate the sequence file on disk, then click OK to load
- the file. Otherwise, click CANCEL to return to the editors without
- loading.
-
- (See File Requester chapter).
-
- Save...
- (RightAmiga-"S" from keyboard)
-
- This item saves the contents of the Edit Buffer to disk in a sequence
- file.
-
- Choosing Save... calls the File Requester. Use the File Requester to
- locate the drawer to save your file in. Then use the File Requester to
- name your new file. The recommended file extension for sequence files is
- ".Seq". Click OK to save the file, or click CANCEL to return to the
- editors without saving.
-
- (See File Requester chapter)
-
- Saving a sequence file also creates an icon for that file in the same
- drawer. When seen from the Workbench, the icons for sequence files look
- the same as performance file icons - like little audio cassettes.
-
- *Note: A sequence file contains one sequence only. Multiple sequences
- may be saved in a performance file.
-
- (See Sequencer Page / File Menu / Save Performance)
-
- New
- (RightAmiga-"N" from the keyboard)
-
- This function erases the current contents of the Edit Buffer leaving a
- new blank sequence containing only an End event.
-
- A blank sequence is a good starting place when building a sequence from
- scratch. Events can then be added one by one using the editor as a
- compositional tool.
-
- Choosing New first calls a safety prompt to prevent accidental loss.
- Click No to back out safely. Otherwise, click Yes to proceed. The Edit
- Buffer is then erased.
-
- PROGRAMME CHANGE
- When this item is checked, Programme Change events will be displayed.
- Programme Change events appear as text written in the score, coloured
- according to their MIDI channel. The abbreviation "PGM:" is followed by
- the programme number. Example: PGM:090.
-
- CHANNEL A.T.
- Read this menu items as "Channel Aftertouch". When this item is
- checked, Channel Aftertouch events are displayed. Aftertouch events
- look rather like pins; they are displayed as dots supported by lines
- connected to the bottom of the score window, coloured according to their
- MIDI channel. The height of each dot shows the relative aftertouch
- pressure.
-
- Polyphonic A.T.
- Read this menu item as "Polyphonic Aftertouch". When this item is
- checked, Polyphonic Aftertouch events will be displayed. Both types
- of aftertouch, as well as Control Change events, look the same. When
- PLYPHONIC A.T. is turned on, the other two are turned off.
-
- CONTROL CHANGE
- When this item is checked, Control Change events will be displayed.
- Control Change events are displayed the same way as the two Aftertouch
- types. When any of the three are turned on, the other two are
- automatically turned off.
-
- Pitch Bend
- When this item is checked, Pitch Bend events will be displayed. Pitch
- Bend events appear as small diamonds coloured according to their MIDI
- channel.
-
- System Exclusive
- When this item is checked, System Exclusive events will be displayed.
- System Exclusive events appear as small black vertical dashes spanning
- the height of about two pitch lines.
-
- Modules Menu
- The MODULES menu is where access is given to externally loaded editing
- modules. These modules are small programmes that operate on the data in
- the Edit Buffer in specialways. They can be called and used from either
- editor. Three editing modules are included with Music-X as released.
- The menu items that call them are:
-
- QUANTIZE.....
- SCALE VELOCITY.....
- SCALE AFTERTOUCH.....
-
- The following three subchapters describe these Modules.
-
- Quantizer Module
- To call this module from within either editor, chose QUANTIZE... from
- the modules menu. The Quantizer is used to alter (correct) the timing of
- events in a sequence.
-
- The Quantizer is so named because it deals with quantities of time. Most
- music assumes an underlying regular pulse on which the music is placed.
- This is represented in Music-X by the "Grid". The Quantizer is used to
- make sure the timed execution of notes is nice and close to this ideal
- Grid. A quantized sequence will sound very even and regular.
-
- The spacing between Grid points is called the "Grid Size". By using
- different Grid sizes, you can get triplets, etc.
-
- The Grid Size is set using the GRID tool found in the Tool List on the
- right edge of the Bar Editor Page. This should be done before calling
- the Quantizer, to set up the appropriate Grid and Duration. The
- currently selected Grid Size gives an idealized timing reference used as
- a target by the Quantizer when moving the start times of events.
- Duration can be explained as the length of time between the start and the
- end of a note (between the MIDI Note On and NOte Off). The currently
- selected duration is used by the Quantizer as an idealized reference when
- quantizing durations.
-
- (see Bar Editor / Grid)
-
- The Error Spectrum
- Let us say we have set up a Grid of quarter notes. Each Grid point is
- l92 clocks away from the next. (A clock is the smallest amount of time
- possible in a Relative 192.
-
- Durations l 2 3 4
- Count
- Grid -95 +96 { Error Spectrum
-
- Illustration 7.5: Error Spectrum
-
- These are out ideal "downbeats". Now imagine the area of time
- surrounding each Grid point and extending halfway to the next Grid point
- in both directions (earlier and later). This area of time creates a
- margin around each Grid point that can be called the "error spectrum".
- Any notes within the error spectrum are considered by the Quantizer to be
- deviations from the ideal Grid point in the centre of the spectrum. The
- further away from the centre that a note starts, the greater the timing
- error. So, for instance, with our Grid of quarter notes, which is
- l92 clocks wide, a note may start as early as 95 clocks before the beat
- or as late as 96 clocks after the beat and still be quantized correctly.
-
- After you have recorded a live performance, changes are that there will
- be minor (or major) differences in timing between the way you played it
- and the way you wish you had played it. The Quantizer will "comb"
- through all the notes you played and move them to the closest Grid point.
- Say you played a four-note arpeggio, approximately in quarter notes. And
- let us assume that we have previously set a Grid of quarter notes (l92
- clocks) by using the Grid requester. Here are the times before and after
- quantization (shown as measures.beats.clocks).
-
- Note Played Time Quantized Time
-
- C4 000l.0l.0l0 000l.0l.000
- E4 000l.02.004 000l.02.000
- G4 000l.02.l90 000l.03.000
- C5 000l.03.l65 000l.04.000
-
- Knowing that each quarter note contains l92 clocks, you can see here that
- the first note was played late by l0 clocks, the second was late by 4
- clocks, the third note was early by 2 clocks and the fourth note was
- early by 27 clocks. The Quantizer moved each one to the closest nearby
- Grid point.
-
- In the right half of the Quantizer Module's window is a column of buttons
- for the various quantizing options. Following are descriptions of those
- options.
-
- QUANTIZE EVENTS Quantization Size: 0l92
-
- Min Threshold: ( ) Start Only
- 00
-
- Max Threshold: ( ) Duration Only
-
- 96
-
- ( ) Stop Only Effect %:
-
- l00
-
- ( ) Start + Duration
-
- (((((() Selected Events
-
- ( ) All
-
- ( ) Start + Stop
-
-
- QUANTIZE
-
- CANCEL
-
- (((((() Start w/Duration
-
- Illustration 7.6
-
- START ONLY will move only the Note On portion of Note events to the
- nearest Grid point and leave the Note Offs where they were. The
- durations may be arbitarily changed.
-
- DURATION ONLY will leave the NOte Ons where they are and move each Note
- Off earlier or later in time to cause the duration of the note to resolve
- to the nearest multiple of the chosen duration. Example: If you have
- chosen eighth notes as your duration, and the original duration of a note
- to be quantized is somewhere between a true quarter note (two eights) and
- a true dotted quarter note (three eighths), then the Quantizer will move
- the Note Off earlier or later to whichever value is closer; the note will
- end up being exactly a quarter note or exactly a dotted note in duration.
-
- STOP ONLY will move Note Offs to the closest Grid point. Note Ons are
- not moved. Durations may be arbitarily changed.
-
- START + DURATION will move the Note Ons towards the nearest Grid point
- and adjust the Note Offs so that the duration is moved towards the
- nearest multiple of the chosen duration. In most cases this identical to
- START + STOP (see below). It would be different in cases where the Grid
- Size and the chosen Duration are different. Suppose you set your Grid to
- sixteenth notes and your Duration to whole notes. The Note Ons would be
- moved to the closest Grid point but instead of adjusting the end points
- to the nearest sixteenth note Grid, the Quantizer would adjust the end
- points to make the overall duration of the note some multiple of whole
- notes. This is a versatile feature. Experiment with different settings.
-
- START + STOP will move both Note Ons and Note Offs towards the nearest
- Grid point (even in opposite directions). Durations may be altered
- arbitarily, but will end up as some multiple of the Grid Size (not
- necessarily some multiple of the current Duration setting).
-
- START w/DURATION means "start with same duration". In other words,
- Quantize the start time but leave the duration the same". This will move
- the Note Ons to the nearest Grid point and move the related Note Off in
- the same direction by the same amount, leaving the overall duration of
- the note the same as it was originally played. This is good for
- correcting the timing of a phrase while staying close to the original
- articulation. The gaps between notes retain most of their original feel;
- legato or staccato sections will still sound legato or staccato.
-
- In the left half of the Quantizer Module's window are three virtual
- sliders that limit the overall effect of quantization.
-
- Minimum Threshold: This slider tells the Quantizer at what point along
- the error spectrum to start quantizing. You can choose NOT to quantize
- rhythms that are within a certain number of clocks from the Grid centre,
- early or late. This is like saying, "If it is close enough already, let
- us leave it alone so it does not sound too robotic!" You can set the
- threshold from 000 clocks to l/2 the current Grid Size or Duration,
- whichever is bigger. Example: 000 to 96 clocks are available when
- quantizing quarter notes (a quarter note is l92 clocks). Setting a
- minimum threshold of 5 will only quantize notes occurring at 5 clocks or
- further from the Grid centre.
-
- Maximum Threshold: This slider tells the Quantizer at what point along
- the error spectrum to stop quantizing. You can choose to leave rhythms
- as they are if they are beyond a certain number of clocks from the Grid,
- early or late. This is like saying, "If it is THAT far off, I must have
- meant it!". Possible settings range from 000 clocks to l/2 the current
- duration or current Grid Size whichever is bigger. Example: 000 to 24
- clocks are available when quantizing sixteenth notes (a sixteenth note is
- 48 clocks). Setting a maximum threshold of l0 would only quantize notes
- occurring at l0 clocks or closer from the Grid centre.
-
- Effect %: Read this slider as "Effect Percent". This slider lets you
- tell the Quantizer to only partially quantize the notes; to just move the
- notes part of the way towards the nearest Grid or Duration. If your note
- is l0 clicks away from the Grid and you choose a 50 percent effect, the
- note will be moved to 5 clicks away from the Grid. If you still want it
- closer, run the Quantizer again, the note will be moved a little closer
- each time. It is like saying "The track is pretty close as it is. I
- just want it a little tighter without making it sound stiff". If you are
- quantizing Durations, then the effect percent slider will partially
- quantize them as well.
-
- Below the sliders are two switches that determine which overall group of
- events will be considered for quantization.
-
- Selected Events When this switch is on, only those events currently
- Selected in the sequence, or those events within a Marked region of time
- will be quantized according to the parameters set above. If no events
- are currently Selected, or Marked, and this switch is on, then no effect
- will be herd. When the SELECTED EVENTS switch is on, the ALL switch (see
- below) is automatically turned off.
-
- (See Bar Editor / Select)
-
- (See Bar Editor / Mark)
-
- ALL When this switch is on, all the events in the current sequence will
- be quantized according to the parameters set above. Actually, only Note
- events and certain Music-X events will be affected. Everything else is
- left along automatically. It is assumed, for instance, that nobody wants
- to quantize pitch bend information.
-
- (See Bar Editor / Event Types)
-
- QUANTIZE. This button, when clicked, causes the Quantizer to go ahead
- and quantize according to the parameters set up in the other controls.
- When done setting up the parameters, click CANCEL or press the "C" key to
- safely exit the Quantizer.
-
- Velocity Scaling Module
- This Module can be called and used from either editor by shoosing SCALE
- VELOCITY... from the Modules menu.
-
- The Volocity Scaling module is used to alter the attack and release
- velocities of notes in a sequence. It can operate on the whole sequence
- or on any set of two or more notes within the sequence.
-
- WHAT IS VELOCITY?
- Attack velocity and release velocity are two of the parameters
- associated with a Note event and are sent in MIDI NOte On and Note Off
- messages respectively.
-
- The attack velocity of a note relates to how fast the key was pressed on
- the mother keyboard. (This does not mean a faster musical tempo, but
- rather how fast the key travels from full up to full down position. Most
- performers think of this as how "hard" they hit the keys.) Various
- synths use this parameter to control either the timbre of the sound, the
- volume of the sound, or both. Some synths use it to control the attack
- rate or other portions of their envelope generators as well. The theory
- is that if you play faster, you want the sound louder, brighter, and
- quicker in responding. And if you play slower, you want it softer,
- darker, and slower in responding.
-
- The release velocity of a note relates to how fast you release the key
- from the depressed position. Like attack velocity, this is used by
- various synths to control the timbre, volume, or articulation of the
- sound. Unfortunately, it is less widely supported by synth manufacturers
- than attack velocity is. In the hardware of an electronic keyboard,
- velocity is actually measured by cuasing a key to close or open two
- separate switches, one near the beginning of travel and one near the end,
- and noting the amount of time between the closings. It really has
- nothing to do with how hard you play the key but rather, how fast.
-
- VELOCITY SCALING
-
- Initial Level: l00
-
- Final Level: l00
-
- Ramdom Factor: 000
-
- ((((() Attack Velocity
-
- ( ) Release Velocity
-
- ((((() Marked Events
-
- ( ) Entire Sequence
-
- (SCALE) (CANCEL)
-
- Illustration 7.7
-
-
- Choosing SCALE VELOCITY... from the Modules menu opens the VELOCITY
- SCALING widow. The scaling module affects the intensity of attack and
- release velocities of Note events according to parameters set up in the
- window by you. It is generally used to create crescendos (loud at the
- beginning, soft at the end), or to raise or lower the velocity of a range
- of notes all together.
-
- Following are descriptions of the parameters in the VELOCITY SCALING
- window.
-
- Initial Level:
- The Initial Level slider sets the desired percentage of current velocity
- for the first (initial) note in a range.
-
- This parameter together with the FINAL LEVEL parameter creates a ramp of
- percentages over time from the initial event to the final event.
-
- The slider ranges from 000 percent of current velocity to 300 percent of
- current velocity. As each event is processed, its velocity will be
- changed by the percentage dictated by the level of the ramp at that point
- in time.
-
- Final Level:
- The Final Level slider sets the desired percentage of current velocity
- for the last (final) note in a range.
-
- If the Final level is set higher than the Initial level, then a
- crescendo-type effect will be imparted.
-
- If the Final level is set lower than the Initial level, then a
- decrescendo-type effect will be imparted.
-
- If the Final Level is the same as the Initial Level, then the ramp will
- be flat. The effect will be one of an overall increase or decrease in
- dynamics.
-
- If both the Initial Level and the Final Level are set at l00 percent,
- then no ramp is set up and no changes will be made to velocities by these
- parameters. (However, the Random Factor parameter may still be live.)
-
- Random Factor:
- You can choose to have the velocities of Note events changed by adding a
- random offset to each. This is a simple addition and has nothing to do
- with percentages.
-
- The slider sets the width of the range of possible offsets. A width of
- l00 defines a range from -50 to +50 to be added to the current velocity.
-
- Example: If a velocity is l00, and the slider is at l00, then the
- possible new velocities are 50 through l50.
-
- Try this on a constant-velocity high-hat part to hear what happens. Or
- do it to keyboard parts entered with a non-velocity-transmitting other
- keyboard to add some life (your sound module must support velocity
- sensitivity for you to hear the effect).
-
- Attack Velocity
- Then this switch is on (highlighted), the attack velocities of affected
- Note events will be scaled.
-
- Release Velocity
- When this switch is on, the release velocities of affected Note events
- will be scaled. If this switch is off and the ATTACK VELOCITY switch is
- off as well, then of course nothing will happen.
-
- Marked Events
- When this switch is highlighted, only Note events that are currently
- Selected, or are within a Marked time region, will be affected by the
- scaling operation. When this is on, the ENTIRE SEQUENCE option (see
- below) is turned off.
-
- (see Bar Editor / Select)
-
- (see Bar Editor / Mark)
-
- Entire Sequence
- When this is highlighted, all the Note events in the sequence will be
- affected by the scale operation (including any events after the end
- line). When this is on, the MARKED EVENTS option is turned off.
-
- Scale
- Clicking the SCALE button tells the software to go ahead and do the
- scaling operation using the parameters that have been set in this window.
-
- Interesting effects can be accomplished by changing the ramp and running
- the scaler again over the same section of a sequence. Complex dynamic
- shapes can also be created by giving different sections individual
- crescendos and decrescendos.
-
- *Note: The possible complexity of combined scale operations means
- scaling cannot be done by simple offset during playback; therefore, the
- original data must be altered. Make sure you like the result before
- leaving the editor and saving your changes.
-
- Cancel
- Clicking CANCEL will Scale nothing, close the Velocity Scaling window,
- and return to the editor.
-
- AFTER TOUCH SCALING MODULE
- This Module can be called and used from either editor by shoosing SCALE
- AFTERTOUCH from the MODULES menu.
-
- The Aftertough Scaling module is used to alter the pressure values of
- Aftertouch events in a sequence. It can operate on all the events in a
- sequence or on any set of two or more Aftertouch events within the
- sequence.
-
- What is Aftertouch?
- Aftertouch messages relate to how hard a key is pressed on the mother
- keyboard after initially reaching the bottom of travel. Aftertouch
- provides an extra means of expression after the note has been initially
- struck. Some wind controllers send Aftertouch messages when breath
- pressure is increased during a note. Various synths and sound modules
- use Aftertouch to affect the timbre, volume, or pitch of the sound.
- Generally, the harder you press, the "brighter" the sound gets, and
- possibly the louder. Not all keyboards send or respond to Aftertouch
- events. To hear the effects of the Aftertouch Scaling module, your sound
- source must support Aftertouch.
-
- There are two kinds of Aftertouch events, one that affects an entire MIDI
- channel, and one that affects individual notes. The first is called
- "Channel Aftertouch", and the second, "Polyphonic Aftertouch". Mother
- keyboards that send Channel Aftertouch messages send messages containing
- a value that represents the overall pressure being exerted across their
- keyboard. Mother keyboard that support Polyphonic Aftertouch cn sense
- pressures being applied to individual keys. Owners of mother keyboards
- that support Channel Aftertouch will find that varying pressures applied
- to a single note in the right hand will also affect the notes of a chord
- being held with the left hand. Owners of mother keyboards that support
- Polyphonic Aftertouch will find that each note in a chord can be affected
- separately.
-
- Choosing SCALE AFTERTOUCH... from the Modules menu opens the AFTERTOUCH
- SCALING window. This window is used to set the parameters that shape the
- way the module will alter the pressure values of Aftertouch events over
- time. The parameters in the AFTERTOUCH SCALING window are similar to the
- parameters in the VELOCITY SCALING window. Following are descriptions of
- those parameters.
-
- AFTERTOUCH SCALING
-
- Initial Level: l00
-
- Final Level: l00
-
- Random Level: 000
-
- ((((() Channel Aftertouch
-
- ( ) Polyphonic Aftertouch
-
- ((((() Marked Events
-
- ( ) Entire Sequence
-
- Illustration 7.8
-
-
- INITIAL LEVEL
- The Initial Level slider sets the desired percentage of current pressure
- for the first (initial) Aftertouch event in a range.
-
- This parameter together with the FINAL LEVEL parameter creates a ramp of
- percentages over time from the initial event to the final event.
-
- The slider ranges from 000 percent of current pressure to 300 percent of
- current pressure. As each Aftertouch event is processed, its pressure
- will be changed by the percentage dictated by the level of the ramp at
- that point in time.
-
- Final Level:
- The Final Level slider sets the desired percentage of current Aftertouch
- for the last (final) Aftertouch event in a range.
-
- If the Final level is set higher than the Initial level, then a
- crescendo-type effect will be imparted.
-
- If the Final level is set lower than the Initial level, then a
- decrescendo-type effect will be imparted.
-
- If the Final Level is the same as the Initial Level, then the ramp will
- be Flat. The effect will be one of overall increase or decrease in
- dynamics.
-
- If both the Initial Level and the Final Level are set at l00 percent,
- then no changes will be made to pressures by the ramp parameters.
- (However, the Random Factor parameter may still be live.)
-
- Random Factor:
- This slider sets the width of a random offset to be added to the
- pressure values of Aftertouch events. The slider ranges from 0 to l00
-
- A width of l00 defines a range from -50 to +50 to be added to the current
- Aftertouch.
-
- Example: If the pressure of an Aftertouch event is at l00, and the
- slider is at l00, then the possible new velocities are 50 through l50.
-
- Channel Aftertouch
- When this switch is on (highlighted in purple), Channel Aftertouch
- events will be affected by the scaling operation.
-
- Polyphonic Aftertouch
- When this switch is on (highlighted in purple), Polyphonic Aftertouch
- events will be affected by the scaling operation.
-
- *Note: The CHANNEL AFTERTOUCH and POLYPHONIC AFTERTOUCH switches are
- independent and may be turned on or off separately. If both are on, then
- both types of events will be affected by the scaling operation. If both
- are off then the Aftertouch Scaling module can have no effect.
-
- Scale
- Clicking the SCALE button closes the window and initiates the scaling
- operation using the parameters you have set up.
-
- CANCEL
- Clicking CANCEL will close window without scaling anything, and return
- you to the editor.
-
- Graphic Score Window
- The graphic score window is the most prominent feature of the Bar
- Editor, found just below the title bar and occupying most of the screen.
- This is the work area, where the sequence is displayed and edited.
-
- The graphic score window is basically a two dimentional time/pitch graph.
- Time moves horizontally, left to right; pitch is vertical, with low notes
- at the bottom and high notes at the top. The graphic score window
- scrolls to reveal the changing portions of the sequence being played.
- New events enter from the right and are seen and then heard as the
- sequence plays.
-
- *Note: Auto-scrolling can be turned off and on by clicking SCROLL along
- the right edge of the Bar Editor Page.
-
- (see Bar Editor / Scroll)
-
- Following are descriptions of the features of the graphic score window.
-
- Keyboard
- Along the left edge of the window is a miniture graphic of a piano
- keyboard. This is used to show the correspondence between note events in
- the score window and normal keyboard notes.
-
- Measure Lines
- Vertical blue lines are used as a background in the score window to show
- how musical time is mapped in the sequence. A dark line marks the
- beginning of each measure, and lighter lines mark the beats within that
- measure. The number of beats within a measure will depend on the current
- time signature. As Time Signature Change events are played, the measure
- and beat lines are redrawn to match the new time signature.
-
- (see Bar Editor / Event Types / Time Signature Change)
-
- When editing Absolute sequences, the measure lines are used to show clock
- time instead of musical time. Light blue lines are spaced at one second
- intervals.
-
- Measure Numbers
- Measure and beat numbers are written in white along the bottom of the
- graphic display window. They correspond to the measure and beat lines
- described above. Measure numbers always have four digits with no decimal
- point. Beat numbers always start with a decimal point and are two digits
- long.
-
- When editing Absolute sequences, the measure numbers are replaced by a
- single clock number written in the same format as the real time clock in
- the Page. This number indicates the starting time for the current
- portion of the sequence, starting at the left edge of the score window.
-
- Pitch Lines
- Horizontal pitch lines are drawn on the background of the score window
- to show the possible positions for note events. The higher the position,
- the higher the MIDI key number of that note, and the higher the pitch.
-
- The pitch lines extend from the left edge of the score window and can be
- matched against the mini keyboard. The lines correspond to the cracks
- between the white keys of the keyboard. The spaces between the lines
- correspond to the white keys.
-
- The line below middle C is drawn in a darker blue for reference.
-
- Time Line
- When you click PLAY or RECORD in the Bar Editor, you will see a moving
- vertical dotted green line cross the screen. This is the Time line.
-
- The Time line shows where musical time is, in relation to the events in
- the graphic display. You will hear the events as this line passes over
- them. The line starts from the left edge of the screen and moves to the
- right. When the line reaches the centre, the score starts moving under
- it (assuming SCROLL has not been turned off). When you click PAUSE or
- STOP, the time line will stay in its last position, making it useful for
- locating mistakes by ear and eye.
-
- (See Bar Editor / Scroll)
-
- Octave Scroll Bar
- Use this scroll bar, found at the bottom edge of the graphic score
- window, to relocate the window to different parts of the sequence. The
- scroll bar may be used at any time, except when SCROLL is on and the
- sequence is playing. In that case the window scrolls automatically.
-
- (See Bar Editor / Scroll)
-
- Octave Scroll Bar
- MIDI supports l28 possible key numbers. That's over ten octaves. Five
- octaves (60 keys) can be shown in the graphic score window at one time.
- Use the scroll bar on the right side of the graphic score window to
- scroll the window vertically, bringing the outlying octaves into screen
- view.
-
- Time Scroll Bar
- Use this scroll bar, found at the bottom edge of the graphic score
- window, to relocate the window to different parts of the sequence. The
- scroll bar may be used at any time, except when SCROLL is on and the
- sequence is playing. In that case the window scrolls automatically.
-
- (See Bar Editor / Scroll)
-
- End Line
- Every sequence has an End line. The End line appears as a stationary
- vertical dotted yellow line and marks the last measure at the end of a
- sequence. The End line is actually an event and can be dragged like any
- other event. The length of a sequence is changed by moving the end line.
-
- When the Time line reached the End line during playback, the sequence
- stops or repeats. Events crossing the end line are allowed to play for
- their full duration, rather than being artificially clipped, even while
- the sequence repeats. Any events starting after the End line are
- ignored.
-
- Relative sequences always end on a measure boundary. If the End line
- event is placed in the middle of a measure, then the sequence will finish
- playing that measure before stopping or repeating.
-
- Absolute sequences may end at any point.
-
- Current Event
- In the Bar Editor, the current event is chosen by clicking on it in the
- score window. The event will change in appearance to show that it's
- selected, and the Virtual Sliders and Channel Square will configure
- themselves to the event's parameters.
-
- (See Bar Editor / Virtual Sliders)
-
- (See Bar Editor / Channel Square)
-
- Dragging Events
- One of the main ways to edit events in the Bar Editor is by dragging
- them. Most events can be dragged horizontally and vertically with the
- mouse. Dragging an event horizontally will change its location in time.
- Dragging it vertically will change some parameter based on the type of
- event. (For instance: Notes would be transposed in half steps, while
- Aftertouch events would be increased or decreased by one pressure unit.)
-
- When you drag a Note event, you will hear the note play at each new
- position (unless QUIET is on). This is called "feedback", and is
- provided to help the ear when editing a sequence.
-
- (See Bar Editor / Options Menu / Feedback)
-
- Dragging the current event beyond the left or right edge of the graphic
- score window causes the window to scroll through time in the direction of
- the event. Dragging the current event beyond the upper or lower edge of
- the graphic score window causes the window to scroll by octaves in the
- direction of the event.
-
- For events with durations (Notes, Play Sequence, etc.), holding the SHIFT
- key while dragging the event's tail will change the event's duration.
-
- Cursor Keys
- The cursor keys can be used in the Bar Editor as an alternative to
- dragging the current event. This can sometimes give you more control
- when making small precise movements. Once the current event has been
- chosen, the CursorLeft and CursorRight keys will move the event
- horizontally through time. The CursorUp and CursorDown keys will move
- the current event vertically in whatever increments are applicable to
- that event type.
-
- For events with durations, the key combinations: (SHIFT-CursorLeft), and
- (SHIFT-CursorRight) will alter the current event's duration as if its
- tail was being dragged.
-
- For Note events, the key combinations: (SHIFT-CursorUp) and (SHIFT-
- CursorDown) will transpose the events by octaves.
-
- *Note: When SNAP is on, events will be moved through time, and durations
- may be changed in increments of the current Grid Size. When SNAP is off,
- events can be moved through time and durations can be adjusted by
- increments of one clock. Depending on the current ZOOM setting, this may
- be too slight a movement to see. Watch the T= and D= indicators below
- the score window to see exactly what you are doing.
-
- (See Bar Editor / Snap)
-
- (See Bar Editor / Grid)
-
- (See Bar Editor / Zoom+ and Zoom-)
-
- (See Bar Editor / T=)
-
- (See Bar Editor / D=)
-
- EVENT TYPES
- The event types are like an alphabet from which a sequence is built.
- Becoming familiar with all the event types, their effect, and how to
- manipulate them is essential to an effective editing style. This
- subchapter will lay out the event types in an orderly fashion so that
- there is no doubt as to what they do. As you read this, please have the
- software running, and feel free to experiment with each event type as it
- is explained, by Adding it to the score, and then dragging the sliders
- etc.
-
- (See Bar Editor / Add)
-
- There are three classes of events in Music-X.
-
- First, Channel Events that send standard MIDI messages as described in
- the MIDI specification. These are:
-
- Name mnemonic
-
- Note (NOTE)
- Channel Aftertouch (CAT)
- Polyphonic Aftertouch (PAT)
- Control Change (CTL)
- Programme Change (PGM)
- Pitch Bend (PBEN)
-
- Second, System Exclusive Events that send MIDI messages understood only
- by the particular instruments they were intended for. System Exclusive
- message formats are designed and specified by the instrument
- manufacturers. All System Exclusive messages fall under the event type:
-
- System Exclusive (SYSX)
-
- Third, Music-X Events that control the sequencer is some way. These are:
-
- End (END)
- Splice (SPLI)
- Set Repeats (REPT)
- Stop (STOP)
- Tempo Change (TEMPO)
- Time Signature Change (TSIG)
- Change Keymap (KMAP)
- Play Sequence (PSEQ)
- Mute Sequence (MSEQ)
- Solo Sequence (SSEQ)
- Mute Track (MTRK)
- Solo Track (STRK)
-
- The following is a series of paragraphs explaining what each event does,
- how it looks in the graphic score window, what parameters it has, and how
- to edit it in the Bar Editor.
-
- Note
- (mnemonic = NOTE)
-
- Note events are Channel events that send MIDI Note On and Note Off
- messages to MIDI synthesizers. Note events can also be redirected
- internally to play Amiga samples.
-
- Note events appear in the Bar Editor as coloured horizontal bars. When
- selected or grabbed, they appear hollow.
-
- Note events have six parameters: Start Time, MIDI channel, MIDI key
- number (pitch), Attack Velocity, Release Velocity, and Duration. All of
- these parameters may be edited in the Bar Editor.
-
- The virtual sliders take on these parameters: MIDI key number, Attack
- Velocity and Release Velocity. They are titled NT: (for "note"), ATV:,
- and RVL: respectively.
-
- StartTime: To change the starting time of a single note, drag it to the
- left or right. The T= field will take on the start time of the current
- event and change as the event is dragged. You can also move the current
- Note event or a group of selected Note events through time with the
- CursorLeft and CursorRight keys. The SNAP tool, when on, limits the
- movements of Note events to increments of the current Grid Size. The
- start times of groups of Note events may also be changed with the
- Quantizer module.
-
- (See Bar Editor / Snap)
-
- (See Bar Editor / Quantizer Module)
-
- MIDIChannel: The Channel number of the current Note event is indicated
- by the Channel Square and by the colour of the event. To change the
- channel of the current Note event or of a group of selected Note events,
- click on the numbers in the Channel Square. The colour of a Note event
- changes as its MIDI channel number changes.
-
- (See Bar Editor / Channel Square)
-
- *Note: All the screens in Music-X use eight colours. Two of those
- colours (light blue and dark blue) are used for the background in the
- graphic score window. That means there are six colours left over to
- represent l6 MIDI channels. Higher channels use the same colours as
- lower channels. When editing a sequence containing events on different
- channels using the same colour, remember the Channel Square always shows
- the channel number of the current event and that any channel(s) can be
- temporarily locked out of the display using the LOCK tool.
-
- (See Bar Editor / Lock)
-
- MIDIKeyNumber: The MIDI key number of a Note event is represented by its
- relative height in the score window. The higher the bar on the screen,
- the higher the MIDI key number and, most likely, the musical pitch
- (unless your synth is returned backwards). Possible key numbers range
- from 000 to l27 (middle C is key number 60). The exact key number is
- indicated by the virtual slider titled NT: To change the key number of a
- Note event, drag it higher or lower in the score, or move the virtual
- slider. You may also change the key numbers of the current Note or a
- group of selected Notes with the CursorUp and CursorDown keys. Holding
- SHIFT while using the CursorUp and CursorDown keys will transpose the
- current event, or group of selected events, by octaves. You may also
- move the current Note event to a particular key number by playing that
- key on the mother keyboard. This last method can be used while in play.
-
- Attach Velocity and Release Velocity:. Both of these parameters are
- displayed in the same way and only one may be shown at a time. They are
- switched using the DISPLAY menu. Velocities are displayed on the screen
- as dark blue rectangles extending upwards from the bottom of the score.
- The higher the rectangle, the faster the attack velocity. Each velocity
- is displayed directly below or behind its related Note event. Two of the
- virtual sliders configure to attack and release velocities and are titled
- AVL:, and RVL:. The attach and release velocities of the current Note
- event may be changed by moving these sliders. The velocities of a group
- of Notes may be changed with the VELOCITY SCALING module. Attack
- Velocities can range from 000 to l27. True Release Velocities can range
- from 000 to l27. The slider also allows a release velocity of l28 to
- mark a special case (see note below).
-
- (See Bar Editor / Display Menu / Attack Velocity)
-
- (See Bar Editor / Display Menu / Release Velocity)
-
- (See Bar Editor / Velocity Scaling Module)
-
- DURATION: A single Music-X Note event actually sends two MIDI messages:
- a Note On message and a Note Off message. The duration of the Note event
- is the length of time between the sending of these two messages. The
- duration of Note events is represented by their size; the longer the bar,
- the longer the note. The duration of the current Note event (when
- grabbed) is shown in the D= field underneath the score window. Change
- duration by holding the SHIFT key while dragging the note tail. The
- durations of the current Note event or of a group of selected Note events
- may be changed by holding the SHIFT key and using the Cursor-Left and
- Cursor-Right keys. The SNAP tool limits the changing of durations of
- Note events in increments of the current Duration, as set in the Grid
- requester. The Durations of Note events may also be changed with the
- Quantizer Module.
-
- *Note: Many synthesizers send Note Off messages as Note On messages with
- attack velocities of zero. This is a standard technique that makes the
- MIDI data stream more efficient by eliminating the need to change the
- "running status". Music-X records Note Offs in whichever form it
- receives them. A Music-X Note event will show a Release Velocity of l28
- if the Note Off was received as a Note On with zero velocity. This value
- of l28 would be illegal in MIDI, and is only used as a "flag" by Music-X
- so it knows to send the Note Off as a Note On during playback. Any other
- release velocity would cause the Note Off to be sent normally. This
- parameter is fully editable the same as any other; a Note Off recorded in
- one form may be changed and played back in the other form.
-
- Channel Aftertouch
- (mnemonic = CAT)
-
- Channel Aftertouch events send Channel Aftertouch messages to MINI
- instruments.
-
- Channel Aftertouch events appear as coloured dots connected by vertical
- lines to the bottom of the score window. When grabbed or selected, the
- dots appear hollow.
-
- Channel Aftertouch events have three parameters: Start Time, MIDI
- Channel, and Pressure.
-
- One virtual slider takes on the Pressure parameter and is titled PRS:
- The other sliders are ignored.
-
- START TIME: To change the start time of a Channel Aftertouch event, grab
- its head (the dot) and drag it horizontally. After a Channel Aftertouch
- event has been grabbed, its start time will be indicated in the T= field
- below the score window. The start time of the current Channel Aftertouch
- event or of a group of selected Channel Aftertouch events may also be
- changed with the CursorLeft and CursorRight keys. (The movements of
- Channel Aftertouch events are not affected by SNAP.)
-
- MINI CHANNEL: The channel number of the current Channel Aftertouch event
- is indicated by the Channel Square and by the colour of the event. To
- change the MIDI channel number of the current Channel Aftertouch event or
- of a group of selected Channel Aftertouch events, click on any number in
- the Channel Square. The colour of a Channel Aftertouch event will change
- as its MIDI channel number changes.
-
- PRESSURE: This parameter relates to how hard the key is being pressed
- after reaching the bottom of travel. It can range from 000 to l27. This
- value is indicated by the relative height of the Channel Aftertouch event
- in the score window and by the virtual slider. To change the Pressure
- value of a Channel Aftertouch event, drag the event vertically, or move
- the virtual slider titled PRS:, or press the CursorUp and CursorDown
- keys. The pressure parameter of Channel Aftertouch events may also be
- manipulated using the Aftertouch Scaling Module.
-
- (See Bar Editor / Aftertouch Scaling Module)
-
- POLYPHONIC AFTERTOUCH
- (mnemonic = PAT)
-
- Polyphonic Aftertouch events send Polyphonic Aftertouch messages to MIDI
- instruments.
-
- Polyphonic Aftertouch events are like Channel Aftertouch events except
- that different keys may have different pressure values. Therefore, they
- have an extra parameter for MIDI key number.
-
- Polyphonic Aftertouch events look the same as Channel Aftertouch events;
- coloured dots connected by vertical lines to the bottom of the score
- window that become hollow when grabbed or selected. Only one form of
- Aftertouch event (Channel or Polyphonic) may be shown in the graphic
- score window at a time. The DISPLAY menu is used to control which event
- type is to be shown.
-
- Polyphonic Aftertouch events have four parameters: Start Time, MIDI
- Channel, MIDI key number, and Pressure.
-
- Two virtual sliders take on the parameters of MIDI key number, and
- Pressure. They are titled NT:, and PRS:, respectively. The last slider
- is ignored.
-
- START TIME: The start time of the current Polyphonic Aftertouch event is
- indicated in the T= field. To change the start time of a polyphonic
- Aftertouch event, grab its head and drag it horizontally. The start time
- of the current Polyphonic Aftertouch event or of a group of selected
- Polyphonic Aftertouch events may also be changed with the CursorLeft and
- CursorRight keys. (The movements of Polyphonic Aftertouch events are not
- affected by SNAP.)
-
- MIDI CHANNEL: As with all channel events, the channel number of the
- current Polyphonic Aftertouch event is indicated both by the Channel
- Square, and by the colour of the event. To change the MIDI channel
- number of the current Polyphonic Aftertouch event or of a group of
- selected Polyphonic Aftertouch events, click on the numbers in the
- Channel Square. The colour of a Polyphonic Aftertouch event will change
- as its MIDI channel number changes.
-
- MIDI KEY NUMBER: The MIDI key number of the current Polyphonic
- Aftertouch event is indicated by the virtual slider titled NT:. To
- change the MIDI key number, move the slider. Possible key numbers range
- from 000 to l27.
-
- PRESSURE: The pressure value is indicated by the relative height of the
- Polyphonic Aftertouch event in the score window, and by the virtual
- slider. Possible pressure values range from 000 to l27. To change the
- pressure value of a Polyphonic Aftertouch event, drag the event
- vertically or move the virtual slider titled PRS:. You may also change
- the pressure value with the CursorUp and CursorDown keys. The pressure
- values of a group of Polyphonic Aftertouch events may be manipulated with
- the Aftertouch Scaling Module.
-
- (See Bar Editor / Aftertouch Scaling Module).
-
- CONTROL CHANGE
- (mnemonic = CTL)
-
- Control Change events send Control Change messages to MIDI instruments.
- A Control Change message causes the sound of an instrument to change as
- if one of the controllers were moved on the instrument itself.
- Controllers are things like the modulation wheel, breath controller,
- sustain pedal, etc. Each controller is identified by a number. This
- family of controllers does not include the front panel switches used to
- modify synthesizer parameters making up a programme (VCF cutoff, envelope
- levels, etc.). Synthesizer parameters can be controlled via System
- Exclusive messages.
-
- Control Change events appear as coloured dots connected by vertical lines
- to the bottom of the score window, and become hollow when grabbed or
- selected. Control Change events are displayed using the same graphic
- icons as Channel Aftertouch and Polyphonic Aftertouch events. To avoid
- confusion, only one of these three event types may be displayed and
- edited at a time. The Display menu is used to control which type is
- shown.
-
- (See Bar Editor / Display menu)
-
- Control Change events have four parameters: Start Time, MIDI Channel,
- Controller Number and Value.
-
- Two virtual sliders take on the parameters of Controller Number, and
- Value. They are titled CTL:, and VAL: respectively. The last slider is
- ignored.
-
- START TIME: The start time of a Control Change event can be changed by
- dragging the event horizontally. The CursorLeft and CursorRight keys
- will move the current event through time as well. The start time of the
- current Control Change event is indicated in the T= field below the score
- window, and changes as the event is dragged. (The movements of Control
- Change events are not affected by SNAP.)
-
- CONTROLLER NUMBER: Each controller is identified by a number. This
- number specifies the particular controller you wish to change with this
- message. The controller number for the current Control Change event is
- indicated by the virtual slider titled CTL:. To change this parameter,
- move the slider. The range of the slider is from 000 to l27.
-
- VALUE: The Value parameter represents different things depending on the
- controller number, but iin white lettering. Second, the virtual slider
- titled SEQ: shows the sequence number for the current event. Third, the
- event's vertical position in the score window gives some indication as to
- which sequence will be played. There are not enough vertical screen
- positions to represent all 250 possible sequences. Therefore, Solo
- Sequence events have been limited to the first l6 vertical positions. To
- change the sequence number of the current event, move the virtual slider
- or press the CursorUp key or the CursorDown key.
-
- DURATION: The duration of the Solo Sequence event determines the length
- of time that the sequence will stay soloed. As with Note events, the
- Duration of a Solo Sequence event is indicated by the length of its tail.
- The duration of the current Solo Sequence event (when grabbed) is also
- indicated by the D= field underneath the score window. To change the
- duration of a Solo Sequence event, hold the SHIFT key while dragging its
- tail. You may also change the durations of the current Solo Sequence
- event or of a group of selected Solo Sequence events by holding the SHIFT
- key and using the CursorLeft and CursorRight keys. The SNAP tool limits
- the changing of durations of Solo Sequence events to increments of the
- current Duration, as set in the Grid Requester. The Quantizer module may
- also be used to alter the durations of Solo Sequence events.
-
- MUTE TRACK
- (mnemonic = MTRK)
-
- As explained in the Sequencer Page chapter, a track is something that
- plays a sequence. Music-X has 20 tracks. As a sequence is initiated
- during play or record mode, that sequence is assigned to the next
- available track and is played by that track. A Mute Track event causes
- Music-X to temporarily mute a particular track, and consequently the
- sequence being played by that track, during play or record modes.
-
- Like Mute Sequence events, Mute Track events appear as yellow horizontal
- bars (yellow represents "mute"). When grabbed, or selected, Mute Track
- events appear black with yellow borders.
-
- Mute Track events have three parameters: Start Time, Track, and
- Duration.
-
- One of the virtual sliders takes on the Track parameter, and is titled
- TRK:. The other sliders are ignored.
-
- START TIME: To change the start time of a Mute Track event, drag it
- horizontally, or, for the current Mute Track event or group of selected
- Mute Track events, press the CursorLeft and CursorRight keys. The start
- time of the current Mute Track event (when grabbed) will also be
- indicated by the T= field below the score window. The SNAP tool, when
- on, limits the movements of Mute Track events to increments of the
- current Grid Size. The Quantizer Module can also be used to alter the
- start times of Mute Track events.
-
- TRACK: This parameter determines which of the 20 tracks in Music-X will
- be muted by the current Mute Track event. This parameter is indicated in
- a few ways. Firs, the track number is written on the event itself, in
- red lettering. The text "TRACK = #" is followed by the track number.
- For example, "TRACK = #6". Second, the virtual slider titled TRK: shows
- the track number for the current event. Third, by the event's vertical
- position in the score window. Mute Track events have 20 vertical
- positions, one for each track. To change the sequence number of the
- current event, drag the event vertically, move the virtual slider, or
- press the CursorUp and CursorDown keys.
-
- DURATION: The duration of the Mute Track event determines the length of
- time that the track will stay muted. As with Note events, the Duration
- of a Mute Track event is indicated by the length of its tail. The
- duration of the current Mute Track event (When grabbed) is also indicated
- by the D= field underneath the score window. To change the duration of a
- Mute Track event, hold the SHIFT key while dragging its tail. You may
- also change the durations of the current Mute Track event or of a group
- of selected Mute Track events by holding the SHIFT key and using the
- CursorLeft and CursorRight keys. The SNAP tool limits the changing of
- durations of Mute Track events to increments of the current Duration, as
- set in the Grid requester. The Quantizer module may also be used to
- alter the durations of Mute Track events.
-
- SOLO TRACK
- (mnemonic = STRK)
-
- A Solo Track event causes Music-X to temporarily mute all 20 tracks
- except one, during play or record modes.
-
- Like Solo Sequence events, Solo Track events appear as red horizontal
- bars (red represents "solo"). When grabbed, or selected, Solo Track
- events appear black with red borders.
-
- Solo Track events have three parameters: Start Time, Track, and
- Duration.
-
- One of the virtual sliders takes on the Track parameter, and is titled
- TRK:. The other sliders are ignored.
-
- START TIME: To change the start time of a Solo Track event, drag it
- horizontally, or, for the current Solo Track event or group of selected
- Solo Track events, press the CursorLeft and CursorRight keys. The start
- time of the current Solo Track event (when grabbed) will also be
- indicated by the T= field below the score window. The SNAP tool, when
- on, limits the movements of Solo Track events to increments of the
- current Grid Size. The Quantizer Module can also be used to alter the
- start times of Solo Track events.
-
- TRACK: This parameter determines which of the 20 tracks in Music-X
- will be soloed by the current Solo Track event. This parameter is
- indicated in a few ways. Firs, the track number is written on the event
- itself, in white lettering. The text "TRACK =#" is followed by the track
- number. For example "TRACK =#7". Second, the virtual slider titled TRK:
- shows the track number for the current event. Third, the event's
- vertical position in the score window indicates which track is to be
- soloed. Solo Track events have 20 vertical positions, one for each
- track. To change the sequence number of the current event, drag the
- event vertically, move the virtual slider, or press the CursorUp and
- CursorDown keys.
-
- DURATION: The duration of the Solo Track event determines the length of
- time that the track will stay soloed. As with Note events, the Duration
- of a Solo Track event is indicated by the length of its tail. The
- duration of the current Solo Track event (when grabbed) is also indicated
- by the D= field underneath the score window. To change the duration of a
- Solo Track event, hold the SHIFT key while dragging its tail. You may
- also change the durations of the current Solo Track event or of a group
- of selected Solo Track events by holding the SHIFT key and using the
- CursorLeft and CursorRight keys. The SNAP tool limits the changing of
- durations of Solo Track events to increments of the current Duration, as
- set in the Grid requester. The Quantizer module may also be used to
- alter the durations of Solo Track events.
-
- TOOL LIST
- Along the right edge of the Bar Editor Page (shown in Figure 7.l at the
- beginning of this chapter) is a list of words used during editing. Some
- are mode switches, some open windows where parameters can be tweaked, and
- some are direct commands to Music-X that cause things to happen
- instantly. They offer the most often used functions in the Bar Editor
- and are provided next to the score window for easy access. We will call
- these words "tool words" and the list, the "tool list".
-
- In general, tool words are active when highlighted in white, and inactive
- when written in blue. Tool words are activated, deactivated, or used by
- clicking them.
-
- The following l7 subchapters give an explanation of each tool word and
- any windows or parameters associated with that word.
-
- SETSIG
- ("/" from the keyboard)
-
- Read this tool word as "Set Signature". SetSig is used when editing
- sequences containing Time Signature Change events to resize the measure
- and beat lines to the current time signature.
-
- Normally, measure and beat lines are resized automatically while the
- sequence plays to confirm with Time Signature Change events as they are
- encountered. When the sequence is stopped, the measure and beat lines
- stay sized to the last valid time signature. If you then manually scroll
- to a portion of the sequence with a different time signature, the measure
- and beat lines may appear incorrect. Playing from that point would
- resize the lines, but if you do not want to play the sequence, you can
- use SetSig to resize the measure and beat lines to the new time
- signature.
-
- If there are multiple Time Signature Change events currently in the
- window, then SetSig uses the last Time Signature Change event before the
- middle of the window as the current time signature when resizing measure
- and beat lines.
-
- (See Bar Editor / Graphic Score Window / Measure Lines)
-
- (See Bar Editor / Event Types / Time Signature Change)
-
- Time Signature Display
- Under the SetSig tool is a display showing the current time signature.
- This display is automatically updated as Time Signature Change events are
- encountered in a sequence. If there are no Time Signature Change events
- in the sequence, then the display shows the global time signature.
-
- (See Bar Editor / Event Types / Time Signature Change)
-
- This display is an indicator only and cannot be edited directly.
-
- *Note: The global time signature can be changed from the Sequencer Page,
- or from the Prams window in the Bar Editor, or by inserting a Time
- Signature Change event into the sequence.
-
- (See Sequencer Page / Time Signature Window)
-
- (See Bar Editor / Params / Time Signature).
-
- Add
- ("A" from the keyboard)
-
- Clicking on ADD puts the Bar Editor into "Add mode". Add mode makes it
- possible to put new events into the sequence using the mouse.
-
- While in Add mode, the word ADD stays highlighted in white. While you
- are in Add mode, you can also grab, drag, and edit pre-existing events of
- any type.
-
- When you first click ADD, a requester appears whose title asks WHAT TYPE
- OF EVENT?, and offers a list of the possible event types that can be
- added to the score using the mouse.
-
- Choose an event type by clicking on its name in the list. The chosen
- event type will appear highlighted in white. After you choose an event
- type, click on the OK button (or press the "O" key) to close the window
- and return to the editor.
-
- While in Add mode, you can add any number of events of the chosen type to
- the sequence by clicking the mouse in an empty area of the graphic score
- window. Each time you add a new event, that event becomes the current
- event, and the virtual sliders or other applicable controls may be used
- to edit it before adding another event.
-
- Here is how to make sure the event goes where you want it to go: Each
- time you click the left mouse button, a new event will appear attached to
- the mouse pointer. Before releasing the mouse button, drag the event
- into place. When you release the button, the event is entered into the
- sequence. If you make a mistake, just grab the event again and drag it
- to the right spot.
-
- If the type of event being added is one that can have a duration (Note,
- Play Sequence, tempo Change etc), then its default duration will be one
- clock less than that of the current duration value, as set in the Grid
- requester. The reason for this one-clock difference is to assure that
- the MIDI Note Off of a previous event is sent before the Note On of the
- next event. This assures the efficient use of voices when playing
- sequences on multi-timbral sound modules.
-
- WHAT TYPE OF EVENT?
-
- NOTES
- PROGRAMME CHANGE
-
- CONTROL CHANGE
-
- POLY AFTERTOUCH
-
- CHAN. AFTERTOUCH
-
- PITCH BEND
-
- PLAY SEQUENCE
-
- TIME SIG. CHANGE
-
- TEMPO CHANGE
-
- SET REPEATS
-
- CHANGE KEYMAP
-
- MUTE TRACK
-
- SOLO TRACK
-
- MUTE SEQUENCE
-
- SOLO SEQUENCE
-
- OK
-
- Illustration 7.9: Event Type Requester.
-
- *Note: If you wish, you can override this feature, when setting the
- current Duration in the Grid requester, by increasing the chosen duration
- by one clock before closing the requested. ADD will then subtract the
- extra clock, leaving the intended duration.
-
- (See Bar Editor / Grid)
-
- *Note: Adding an event type to the score turns on the display of that
- event type if it had been previously turned off in the display menu.
-
- (See Bar Editor / Display Menu)
-
- INSERT
- ("I" from the keyboard)
-
- Clicking on INSERT puts the Bar Editor into "Insert mode". Insert mode
- is similar to Add mode; it makes it possible to put new events into the
- sequence using the mouse. The difference is that an amount of time equal
- to the current Duration, as set in the Grid requester, is inserted into
- the sequence along with each new event.
-
- The tool word INSERT stays highlighted in white while the editor is in
- Insert mode. While you are in Insert mode, you can also grab, drag, and
- edit pre-existing events of any type.
-
- When INSERT is first clicked, the WHAT TYPE OF EVENT? requester is
- called. This window has been described above under ADD. Use this
- requester to choose the type of event to be inserted. After you choose
- an event type, and exit the requester, you are in Insert mode. Each time
- you click the left mouse button in an empty portion of the graphic score
- window, you will cause a new event of that type to appear attached to the
- mouse pointer. Before you release the button, you may move the mouse to
- drag the event to where you want it. The event will be inserted into the
- score when the mouse button is released.
-
- When you are in Insert mode, any events entered with the mouse will push
- all following events back in time (later) to make room for the new event.
- The amount of time inserted is equal to the current Duration, as set in
- the Grid requester. No time is inserted for events with no duration (as
- with Pitch Bend).
-
- As with Add mode, the durations of new inserted events are actually one
- clock less than the current Duration setting, for voice efficiency when
- using MIDI sound modules.
-
- (See Bar Editor / Grid)
-
- MOVE
- ("C" from the keyboard)
-
- Clicking on MOVE puts the Bar Editor into "Move mode". Move mode is used
- to drag, or edit pre-existing events in the score. Normally, if you are
- in ADD or INSERT mode, you can drag events too. However, MOVE is used
- when you want to avoid the possibility of accidentally entering a new
- event by clicking on a blank area of the score.
-
- While in Move mode the word MOVE stays highlighted in white.
-
- To drag an event, click on it an hold the left mouse button. The event
- will become the current event and appear hollow or reversed. As long as
- you hold the mouse button, the event will be attached to the mouse
- pointer. Moving the mouse pointer moves the event as well. Once an
- event becomes the current event, the virtual sliders and other controls
- can be used to edit its parameters.
-
- REMOVE
- ("V" from the keyboard)
-
- Clicking on REMOVE puts the Bar Editor into "remove mode". Remove mode
- is used to remove or erase pre-existing events from the sequence one by
- one.
-
- The tool word REMOVE stays highlighted in white as long as remove mode is
- on.
-
- While in Remove mode, clicking on any event in the graphic score window
- will remove it from the score.
-
- If you remove an event accidentally, you can restore it by pressing the
- HELP key on the Amiga keyboard. Repeatedly pressing the HELP key will
- restore up to l6 events previously removed from the sequence.
-
- *Note: Changing between editors resets the HELP key. You must restore
- accidentally removed events before switching editors.
-
- LOCK
- (SHIFT-"L" from the keyboard)
-
- Clicking on LOCK puts the Bar Editor into "Lock mode". Lock mode is used
- in conjunction with the Channel Square to hide some of the events in a
- sequence so you can more easily edit the events you are interested in.
- This is handy when working with composite sequences, containing data on
- many MIDI channels.
-
- The tool word LOCK stays highlighted in white while the editor is in Lock
- mode. While you are in Lock mode, you can also grab, drag, and edit pre-
- existing events of any type.
-
- While LOCK is on (highlighted), one can click on various channels in the
- channel square (any except the current channel) to lock them out of the
- bar graphic display. When a channel is locked, its number is shown in
- red in the Channel Square. Any events on a locked-out channel are heard
- but not seen. Clicking again on a locked channel unlocks it and lets any
- events on that channel be displayed again.
-
- (See Bar Editor / Channel Square)
-
- Example: Locking out all but one channel.
-
- Pick LOCK to enter Lock mode. LOCK will appear highlighted.
-
- Pick on an event in the score whose channel you wish to see along. The
- Channel Square will show that channel in white.
-
- Pick on all the other channels in the Channel Square to lock them out.
- (They will turn red).
-
- Now only events on the current channel will be displayed and can be
- edited.
-
- To restore all the channels, click all the reddened channels in the
- Channel Square. A quick trick that restores all locked channels is to
- choose BAR from the edit menu. Since we are already in the Bar Editor,
- this function will simply reinitialize the screen. Part of the
- reinitializing process is to unlock all channels.
-
- *Note: Various event types can also be temporarily hidden using the
- Display menu.
-
- (See Bar Editor / Display Menu)
-
- SELECT
- ("E" from the keyboard)
-
- Clicking SELECT puts the Bar Editor into "Select mode". The mouse then
- becomes a tool for drawing boxes around events or groups of events to
- "select" them for future group operations.
-
- To select an event or group of events, simply click and hold the left
- mouse button anywhere in the score window to define one corner of the
- box. Now drag the pointer until you see the outline of a box appear and
- expand. When you release the mouse button, any events within the box
- will become selected, and the box will disappear. Selected events will
- change in appearance to show that they have been selected. Some, like
- Note events, appear hollow when selected. Others use reversed colours.
-
- It is possible to draw boxes bigger than can be displayed on the screen
- at one time. Simply move the mouse off the edge of the graphic score
- window while dragging the corner of the box and the screen will auto-
- scroll to follow you. You will find it quicker work to zoom out before
- selecting events in large sections of time.
-
- Selected events are cumulative. Selecting anew event does not de-Select
- other events. This is handy when selecting individual notes out of a
- cluster, as when picking out the inner voice of a trio where the three
- parts overlap in range. One can move through the score, selecting a few
- notes here and a few notes there until all the desired notes are
- selected. (Since selection is cumulative, it is a good idea to use
- UNMARK before selecting so that no previously selected events are
- included in the group accidentally.)
-
- See Bar Editor / Unmark)
-
- *Note: It is not necessary to box a complete Note event to Select it.
- But you must box at least the head of the note. This will come in handy
- when Selecting notes with long duration.
-
- After a group of events has been selected, many other editing functions
- can be used to edit them collectively. For instance, clicking on the
- MIDI Channel Square will change their MIDI channel assignments. Pressing
- the CursorUp and CursorDown keys will transpose all selected (and
- transposable) events by halfsteps. Pressing the CursorLeft and
- CursorRight keys will move all the selected events through time in
- increments of the current Grid Size when SNAP is on, and in increments of
- one clock when SNAP is off. The cut and paste operations available in
- the Options menu are all used in reference to a group of selected events.
- The Quantizer, Velocity Scaler, and Aftertouch Scaler modules can all be
- used to operate on selected events.
-
- (See Bar Editor / MIDI Channel Square)
-
- (See Bar Editor / Grid)
-
- (See Bar Editor / Snap)
-
- (See Bar Editor / Options Menu)
-
- (See Bar Editor / Modules Menu)
-
- MARK
- ("M" from the keyborad)
-
- Clicking MARK puts the Bar Editor into "Mark mode". Mark mode is similar
- to Select mode in that it defines a group of events for use in group
- operations. The difference is that Mark mode deals with regions of time
- and the events within that time, while Select mode only deals with the
- events. This means that MARK can be used in conjunction with cut and
- paste operations to splice sections of musical time together, as when
- changing the order of measures in a sequence.
-
- The tool word MARK stays highlighted in white while the editor is in Mark
- mode.
-
- Here is how to Mark a region of time:
-
- Move the mouse pointer to the beginning of the section you wish to mark.
-
- Pick and hold the left mouse button. A vertical magenta line will
- appear, marking the beginning of the region. The T= field, below the
- score window, will indicate the start time for the beginning of the
- region.
-
- Hold the mouse button and drag the pointer to stretch the magenta region
- to the end of the section to be marked. If the region to be marked is
- larger than the portion of the sequence shown on the screen, simply move
- the mouse pointer off the edge of the graphic score window while
- dragging, and the score window will auto-scroll to bring the needed
- portions of the sequence into view. The D= field, below the score
- window, will indicate the total duration of the marked area as it grows.
- When the pointer is positioned over the end of the region, release the
- mouse button. The region is now marked.
-
- If you make a mistake in marking a region, click UNMARK (see below) and
- start over.
-
- An alternative method for marking large portions of time is to click once
- at the beginning point, then scroll forward or play the sequence to find
- the end of the section. Once the end is found, position the pointer over
- the end point, hold the SHIFT key, and click to mark the entire region
- between the two points.
-
- *Note: When using MARK to move measures around, you will probably find
- it handy to set the Grid Size to as large a value as practical and use
- SNAP. Also when marking large portions of time, you will find it quicker
- work if you zoom out (ZOOM-) first, so a larger portion of the sequence
- can be seen in the window at once.
-
- UNMARK
- ("U" from the keyboard)
-
- The UNMARK tool word is a command that causes all currently selected
- events to become deselected, or a currently marked region of time to
- become unmarked. UNMARK is used to "clean the slate" before using either
- SELECT or MARK, or after making a mistake while using either of these.
-
- The word UNMARK only stays highlighted while the events are being
- unmarked. Once they are unmarked, UNMARK returns to normal. UNMARK can
- be used while in any mode.
-
- ZOOM + ANDZOOM-
- (SHIFT-"Z" from the keyboard)
-
- Read these as "Zoom increase" and "Zoom decrease," or "Zoom in" and "Zoom
- out". Use these tool words to change the time scale of the graphic
- window display. This works similarly to a zoom lens on a camera; a
- higher zoom gives a closer look at the subject, a lower zoom gives a
- wider look at the surroundings.
-
- There are 7 levels of Zoom; each level shows half or twice the time scope
- of the neighboring Zoom level. Each time you click on ZOOM+ or ZOOM-,
- the time scale displayed in the graphic score window is halved or
- doubled.
-
- These tool words are direct commands and may be used in any mode. They
- stay highlighted temporarily, while the window is readjusted, then return
- to normal.
-
- Increasing zoom (ZOOM+) shows less actual time on the screen. This
- allows mouse manipulations of data in resolutions as small as one or two
- clocks. (Movements of exactly one clock can also be effected upon the
- current event, or selected events, by using the CursorLeft and
- CursorRight keys, while SNAP is off.) Decreasing zoom (ZOOM-) shows more
- time on the screen. This allows macro-scaled manipulations (as when
- cutting and pasting song sections) by showing many measures on the screen
- at once.
-
- (See Snap (below))
-
- *Note: The pitch scale does not zoom. It always stays in scale with the
- miniature keyboard graphic to the left of the graphic score window.
-
- SNAP
- (SHIFT-"S" from the keyboard)
-
- SNAP is an optional mode switch, and may be used with any other mode.
- SNAP was inspired by a similar function in CAD (Computer Aided Design)
- programmes. It limits the placement of events in the score window to the
- modes of an invisible "Grid". SNAP is turned off and on by clicking it.
- When on, it appears written in white.
-
- (See Bar Editor / Grid (below))
-
- SNAP affects various editing procedures differently. The procedures that
- SNAP affects are:
-
- Adding or Inserting new events into the score.
-
- Pasting the Clip into the score.
-
- Changing the start times of pre-existing events in the score (moving
- them).
-
- Changing the durations of pre-existing events in the score.
-
- Marking a region of time.
-
- When Adding or Inserting new events, SNAP restricts them to being placed
- on Grid points only, rather than being placed freely. When SNAP is off,
- new events can be placed anywhere in time, down to a resolution of one
- clock (l/l92 quarter note).
-
- When pasting the Edit Clip into the score using PASTE, the start time of
- the first event in the Clip is limited to Grid points only. All
- following events in the Clip stay in their original relationship with the
- first event. For example, when pasting a Clip containing two events an
- eighth note apart while SNAP is on, the first event will be restricted to
- Grid points and the second note will always be one eighth note later than
- the first, regardless of what the Grid size is.
-
- (See Bar Editor / Options Menu / Paste)
-
- When pre-existing events are moved about in the score, SNAP allows them
- to be moved in increments of the current Grid Size (rather than being
- moved to Grid points specifically). That means that if the event was not
- "right on the beat" before being moved, it will still have the same error
- after being moved. This is good because events retain their original
- rhythmic feel, as far as being a little early or late, while being moved
- around in the score. This applies whether events are being dragged with
- the mouse or moved with the cursor keys. When SNAP is off, the start
- times of pre-existing events can be nicely adjusted down to a resolution
- of one clock.
-
- *Note: You can get some interesting rhythmic-offset effects with SNAP by
- temporarily changing to an unusual Grid Size and moving a group of
- selected notes with the CursorLeft and CursorRight keys while SNAP is on.
- Example: Select a group of 6 quarter-note triplets in a drum sequence.
- Change the Grid Size to eighth notes and turn SNAP on. Use the
- CursorLeft key to move the selected triplet notes l eighth note earlier
- in the score. Off beat triplets can give you that Latin timbale-solo
- sound.
-
- (See Advanced Users / Editing Tricks / Rhythmic Offsets)
-
- When changing the durations of pre-existing events, SNAP allows them to
- be changed in increments of the current duration. Example: If the
- current Duration is set to quarter notes, then an eighth note in your
- sequence could be stretched to become a dotted quarter note (l eighth
- plus l quarter), but not a quarter note. As you dragged its tail with
- the mouse, you would see it change suddenly (that is the "snap") from an
- eighth note to a dotted quarter note. That is because SNAP prevented it
- from changing by any less than a quarter note's duration. This applies
- as well when using the cursor keys to change the durations of the current
- event or group of selected events. When SNAP is off, the durations of
- pre-existing events can be nicely adjusted down to a resolution of one
- clock.
-
- *Note: The current Duration is also set in the Grid requester.
-
- When marking a region of time using MARK, SNAP restricts the edges of the
- region to Grid points. As the region is dragged and expanded, it will
- appear to increase in size in jumps. Setting the Grid Size to maximum
- and turning SNAP on before cutting a song section will keep the section's
- length to multiples of a measure and assure that when the section is
- pasted back into the score, events moved aside to make room for the new
- section will retain their original rhythmic identity. When SNAP is
- turned off, regions of any size can be marked with one-clock accuracy.
-
- QUIET
- ("Q" from the keyboard)
-
- QUIET is an optional mode switch, and may be used with any other mode.
- QUIET turns off the audible feedback heard when Note events are dragged
- in the graphic score window.
-
- While QUIET is on (highlighted), feedback is turned off. Click QUIET to
- turn it on and off. QUIET does not affect the playback of events when
- the editor is in play or record.
-
- (See Bar Editor / Options Menu / Feedback)
-
- An extra editing trick is possible when QUIET is turned on and Feedback
- is defeated. While the sequence is playing, a new event may be added or
- a pre-existing event may be grabbed without stopping the clock. As long
- as you hold the left mouse button the event may be dragged to different
- positions. Instead of Feedback playing the event each time it is moved
- (as when QUIET is off) the event will be played each time the green Time
- line passes over it. If the sequence is short and repeating, different
- positions for the event can be tried and listened to as the sequence
- repeats. As soon as you release the event, by releasing the mouse
- button, the clock will stop and the event will be entered into the score
- at the current position.
-
- SCROLL
- ("L" from the keyboard)
-
- SCROLL is an optional mode switch, and may be used with any other mode.
- SCROLL controls the auto-scroll function of the graphic score window.
- Click SCROLL to turn it on and off.
-
- If SCROLL is on (highlighted), then when the editor is in play or record,
- the graphic score window will automatically scroll along through the
- score in musical time, showing new events approaching from the right and
- passing through the time line as they are played.
-
- If SCROLL is off, the score window will not automatically scroll as the
- sequence is played, but may still be manually scrolled. When you first
- click PLAY, the Time Line travels from the left edge of the screen and
- continues off the right edge of the window and disappears. Events being
- played off screen would be heard but not seen as the Time Line passes
- through them. You might prefer to turn SCROLL off when working in high
- zoom (closeup) since the screen would otherwise rapidly scroll away from
- the area you want to see.
-
- (See Bar Editor / Zoom+ and Zoom-)
-
- GRID
- ("G" from the keyboard)
-
- This tool word is used to call the Grid requester where the current GRID
- SIZE and DURATION parameters may be altered.
-
- The two parameters Grid Size and Duration are used by many other
- functions in the Editors. Grid Size and Duration are used by SNAP. Grid
- Size and Duration are both used by the Quantizer Module. Grid Size is
- used by the STEP button when recording in step mode. Duration is used by
- ADD and INSERT to set the durations of new notes being entered into the
- score.
-
- WHAT IS THE GRID?
- The Grid is an invisible structure of time points mapped over a sequence
- and used for reference when editing. The Grid works differently in
- Relative and Absolute sequences.
-
- When editing a Relative sequence, Grid points are separated by a set
- number of clocks called the "Grid Size". Clocks are the smallest unit of
- resolution in Relative sequences and represent l/l92 quarter note.
-
- When editing Absolute sequences, the smallest unit of resolution is l/4
- frame. The number of frames per second depends on the Time Code you are
- using. Time Code is set in the Sync menu. The graphic score window can
- only show a resolution of single frames visually, but the actual musical
- data is recorded and stored in quarter frames. (Example: With SNAP off,
- move the current event with the CursorRight key. You will notice that
- for every four key presses, the frame number in the T= field will
- increase by one).
-
- (See Sequencer Page / Sync Menu / Time Code)
- (See Bar Editor / Snap)
- (See Bar Editor / T=)
-
- WHAT IS THE DURATION PARAMETER?
- The Duration parameter sets up an arbitrary duration that can be used as
- a model by other functions in Music-X. For instance, when adding new
- note events to a sequence in the Bar Editor, the ADD function uses the
- current Duration parameter as the model duration for each new note. Also
- when changing the durations of pre-existing events in the sequence, while
- SNAP is on, the current Duration parameter is used as model for the
- amount of change that can be applied to the durations of the pre-existing
- notes.
-
- Clicking GRID opens the SET GRID SIZES window in the Bar Editor.
- Depending on the type of sequence currently being edited, one of two
- similar windows will appear. Take a look at the Grid requester window
- for Absolute sequences below.
-
- *******************************************
- * SET GRID SIZES *
- *******************************************
- * GRID SIZE: *************************** *
- * * 0060 * *
- * *************************** *
- *******************************************
- * DURATION: *************************** *
- * * 0l20 * *
- * *************************** *
- *******************************************
- * ******** *
- * * OK * *
- * ******** *
- *******************************************
-
- Illustration 7.l0: Grid Requester (Absolute)
-
- In this requester, you will see two identical sliders titled GRID SIZE:
- and DURATION:. The sliders range from l to 3600. The sliders are used
- to adjust the number of quarter frames for each parameter. Once the
- parameters are set correctly, the window may be closed by clicking the OK
- button or pressing the "O" key.
-
- (See Bar Editor / Modules Menu / Quantizer Module)
- (See Bar Editor / Edit Menu / Auto-Step)
-
- The Grid requester used when editing Relative sequences contains slightly
- expanded controls. Besides the two sliders, there are displays of
- musical note values including a "dot", and some tuplet numbers. The
- sliders represent the number of clocks in the current GRID SIZE: and
- DURATION: parameters. They range from l clock to the number of clocks in
- one measure. Example: When the Time Signature is 4/4, the sliders range
- from l to 768 clocks. The maximum slider range is l to 3072 clocks with
- a Time Signature of l6/4.
-
- As you drag either slider, the number written on the slider itself will
- change to show
-
- *************************************
- * SET GRID SIZES *
- *************************************
- ***************** ***** *************
- * * * * * 3 5 7 *
- ***************** ***** *************
- * GRID SIZE:*************************
- * * l92 *
- * *************************
- *************************************
- ***************** ***** *************
- * * * * * *
- ***************** ***** *************
- *************************************
- * DURATION:**************************
- * * l92 *
- * **************************
- *************************************
- * ******** *
- * * OK * *
- * ******** *
- *************************************
-
- Illustration 7.ll: Grid Requester (Relative)
-
- the number of clocks in the parameter. As the number of clocks increases
- or decreases, the closest musical note value will be highlighted in
- purple. If the clocks are exactly the correct number for a musical note
- value, that note graphic is highlighted in white instead of purple.
-
- You can also click directly on the note values, the dot, and the tuplet
- numbers themselves. When you do, the slider moves to the correct number
- of clocks in that note value. The tuplet numbers are mutually exclusive.
- Clicking on any one of them turns the others off. If you do not want any
- tuplets, clicking on the currently highlighted tuplet number turns it
- off. The dot is turned on and off by clicking on it as well.
-
- The dot and tuplet numbers work as in normal music theory. Adding a dot
- to a note increases its duration to 3/2 of normal. It adds half of the
- original value. (Example: A quarter note contains l92 clocks; a dotted
- quarter note contains half again as many, 288 clocks.) Triplets (noted
- by the number 3) are worth 2/3 normal value. (Example: A quarter note
- contains l92 clocks; a quarter note triplet contains l28 clocks.)
- Quintuplets (noted by the number 5) are worth 4/5 normal value.
- Septuplets (noted by the number 7) are worth 4/7 normal value.
-
- If you want to use other polyrhythms, besides the ones shown in the
- requester, you can do so by figuring out how many clocks are in one of
- your beats and set it up using the slider.
-
- Example: To set up a custom Grid Size of ll notes per measure of 4/4,
- for quantizing or editing:
-
- A whole note (768 clocks) divided by ll notes is 69.82 clocks per note.
- Round off 69.82 to 70 clocks.
-
- From within the Bar Editor, click GRID to open the Grid requester. Set
- the GRID SIZE: slider to 70 clocks (slightly less than a dotted l6th).
-
- Close the Grid requester by clicking OK.
-
- Turn SNAP on (click it so it is highlighted). Turn ADD on (click it
- so it is highlighted), and add a measure of llth notes in the score
- window with the mouse to see that the Grid is working.
-
- The Grid can now be used to Quantize as well.
-
- A bit about accumulated errors and error correction: ll notes of 70
- clocks each total 770 clocks. Our measure of 4/4 is only 768 clocks.
- The next (l2th) Grid point would be 770-768=2 clocks too late. However,
- the Grid automatically resets to the beginning of each measure so that
- accumulated errors are corrected. The Grid starts again at 768 clocks;
- our polyrhythm stays synchronized.
-
- *Note: Polyrhythms that divide evenly into the number of clocks per
- measure have no accumulated errors and need no error correction.
-
- PARAMS
- ("SHIFT-"P" from the keyboard)
-
- This tool word is used to open the PLAY PARAMETERS window where various
- parameters governing the way teh sequence is played may be altered. Some
- of these parametes are also found in the Sequencer Page but have been
- made available here for convenience.
-
- Descriptions of the various parameters available from this window are
- listed below.
-
- TEMPO:
- At the top of the window is a tempo slider. This slider works exactly
- like the tempo slider in the Sequencer page and affects the global tempo
- setting used by the sequencer and editors during playback.
-
- This slider can be used to audition a sequence at various tempos during
- editing. If you click PLAY before calling the Params window, the
- sequence will continue to play while the window is open. You will be
- able to adjust the tempo and hear the changes while the sequence is
- playing, even though the background screen will temporarily appear frozen
- during window access.
-
- *Note: If there are any imbedded tempo events in your sequence they will
- take precedence over the global tempo setting shown here.
-
- MEMORY:
- To the right of the tempo slider is the MEMORY: readout. This is an
- indicator of available free memory. It shows an estimation of the number
- of Note events (not bytes) that could still be added to memory before
- running out of room. The average Note event uses l0 bytes: 3 to store
- the start time, 3 to store the MIDI data for a Note On, 3 to store the
- stop time, and l for the release velocity. This readout is the same as
- the one found in the Sequencer Page.
-
- (See Sequencer Page / Tempo Window / Memory:)
-
- *Note: This indicator may show a slightly different number than the one
- in the Sequencer Page. This is because different amounts of memory
- overhead are required by the different pages. The available free memory
- actually changes slightly from page to page.
-
- ENABLE SYNC
- The ENABLE SYNC switch is used to allow the editors to play along with a
- drum machine in the same manner as the Sequencer Page would. This can be
- useful for hearing a sequence "in context" using a separately programmed
- drum machine with the sequencer.
-
- Playing a sequence from within the editors normally uses the Internal
- clock if a Relative sequence (one based on measures, beats, and Clocks)
- is being edited, and Video Clock if an Absolute sequence (based on Hours,
- Minutes, Seconds, and Frames) is being edited. The ENABLE SYNC switch in
- the Params window overides the default setting and enables the use of
- MIDI Clocks, MINI Start, MIDI Stop, MIDI Continue, and Song Position
- Pointer messages as indicated by the current settings in the Sync menu.
- This basically enables the drum machine.
-
- (See Sequencer Page / Sync Menu)
-
- PLAY IN CONTEXT
- The PLAY IN CONTEXT switch is used to hear the currently edited sequence
- as it will ultimately sound with the rest of the performace. This is
- good for listening to see if the edits being made are musically
- compatible with the other sequences in memory. When the PLAY IN CONTEXT
- button is turned on, the Editor Pages will Play in Context whenever the
- PLAY button is clicked. PLAY IN CONTEXT cannot be used when Step
- recording.
-
- When playing in context, the entire performance will play as though
- playing from the Sequencer Page. The current sequence being edited will
- only be heard if self starting (if not turned off in the Sequencer Page)
- or if triggered by another sequence using a Play Sequence event. Each
- time the current sequence is triggered, or starts by itself, the sequence
- will be heard and (if SCROLL is on) the Editor will scroll to show the
- portion of the sequence being played.
-
- (See Sequencer Page / Sequence List / <<>> (Offset Arrows))
-
- *Note: If you are using a drum machine as a virtual sequencer (you have
- patterns programmed into the drum machine rather than triggering it from
- the sequencer) you will also want to use ENABLE SYNC (see above).
-
- START:
- Read this as "Start Offset"
-
- The START: slider is used in conjunction with the PLAY IN CONTEXT switch
- to let the performance start from different positions. This is similar
- to changing the clock positions in the Sequencer Page before clicking
- PLAY. If the PLAY IN CONTEXT switch is not on, the START: slider is
- ignored.
-
- Normally, when playing in context, the performance starts from the
- biginning of the song and continues to the end. This is good for hearing
- the whole piece as it will ultimately sound with the currently edited
- sequence. However, when editing, you may wish to listen to only a
- certain portion of the performance to see how the edits are coming along.
-
- This slider can be used to set the number of measures that will be
- skipped past the beginning of the song before starting to play the
- performance. The slider ranges from 000 to 500 measures. When the
- slider is set at 000 measures this means that no measures will be skipped
- and the song will start from the beginning each time PLAY is clicked.
- Setting the slider at 00l measures means that one measure will be skipped
- before playing the song; the song will start on the second measure.
-
- For example, suppose you are editing a piano sequence containing a solo
- that is supposed to occur at the 32nd measure of the song, and you want
- to hear what it will sound like with the other sequences. Turn on PLAY
- IN CONTEXT, and set the START: slider to 3l measures. When PLAY button
- is clicked in the Editor, the song will start playing from the 32nd
- measure and the current sequence will play along with it.
-
- REMAP T/S
- Read this as "Remap Time Signature".
-
- This switch is used in conjunction with the Time Siganture control (see
- below) to change the metric structure of a sequence.
-
- There are two approaches to changing the Time Signature of a prerecorded
- sequence.
-
- The first approach is to expand or contract the measure lengths by adding
- or subtracting beats from the end of each measure. This is the default
- method in Music-X. The advantage to this is that measure integrity is
- maintained. In other words, the same notes still occur within the same
- measures after the Time Signature change. The disadvantage to this is
- that when changing to a smaller measure size, notes at the end of each
- measure would seem to clump together.
-
- The second approach is to leave the music alone and simply map a new Time
- Signature over the top of it. The music sounds the same but is
- structured differently.
-
- The REMAP T/S switch allows you to use the second approach. To remap the
- current sequence into a new time signature, turn the REMAP T/S switch on,
- then change the Time Signature control (see below) to the desired Time
- Signature, then close the Params window by clicking OK.
-
- *Note: When remapping a sequence containing Time Signature Change
- events, the REMAP T/S function takes into account the way the music
- sounded with the Time Signature Changes in it. After remapping, those
- Time Signature Change events are unneeded and sould be manually removed
- from the sequence.
-
- TIME SIGNATURE CONTROL
- You can change the global time signature with this control, as you would
- in the main Sequencer Page. Click on the green arrows to increase or
- decrease the numerator or denominator of the Time Signature. This
- globally affects all sequences.
-
- *Note: Any TSIG events in the currently playing sequence(s) will overide
- the global Time Signature.
-
- (See Sequencer Page / Time Signature Window)
-
- OK
-
- Click here when done, to close the PLAY PARAMETERS window and continue
- editing.
-
- REPEAT
- (SHIFT-"R" from the keyboard)
-
- The last of the tool words in the Tool List is REPEAT, found directly
- below the word PARAMS. REPEAT is an option mode switch, and may be used
- with any other mode. REPEAT controls the auto-repeat function of the
- graphic score window. Click REPEAT to turn it on and off.
-
- This word is normally turned on (highlighted in white) by default. When
- on, it causes the sequence to auto-repeat WHEN IN THE EDITOR ONLY. When
- the green Time line reaches the yellow End line during play, the clock
- returns to the beginning of the sequence and starts to play it again.
- This is usually handy when editing, especially when working on small
- looping sections, as when writing drum parts. Conversely, if you are
- working near the end of a long sequence, you may wish to turn this off to
- prevent the score window from jumping to the beginning when it reaches
- the end of the sequence.
-
- *Note: When Playing In Context, the auto-repeat function is defeated to
- give true playback.
-
- (See Bar Editor / Params / Play In Context)
-
- *Note: If you want the sequence to repeat when played from the Sequencer
- Page, you must Add a Set Repeats event.
-
- (See Bar Editor / Add)
- (See Bar Editor / Event Types / Set Repeats)
-
- SEQ:
- Reat this as "current sequence number". This indicator is found just
- above the PAUSE button, against the lower left edge of the Bar Editor
- Page. When you first enter the Bar Editor by clicking EDIT in the
- Sequencer Page, the number of the sequence to be edited is written to
- this field.
-
- The current sequence number is the sequence that will be overwritten when
- you exit the editor and STORE the edit buffer to sequence memory.
-
- (See Bar Editor / File Menu / Exit)
-
- The current sequence can be changed in two ways. Firs, by brining a new
- sequence into the editor using SELECT..., in the File menu. Second, by
- storing the current sequence to other than the original location using
- STORE..., in the FILE menu.
-
- (See Bar Editor / File Menu / Select...)
- (See Bar Editor / File Menu / Store...)
-
- T=
-
- This indicator is found just above the transport controls. Think of it
- as the "Time equals" indicator.
-
- The T= indicator has five uses. First, it shows the starting time of the
- current event when grabbed or dragged. Second, during a paste operation,
- when pasting a clip of previously selected events, it shows the starting
- time of the first event in the clip as it is being placed in the score.
- Third, during a paste operation, when pasting a region of previously
- marked time, it shows the point at which the clip will be inserted into
- the score while it is being positioned. Fourth, when the sequence is
- playing it shows the current clock time. Fifth, when there is no current
- event, it shows the time under the mouse pointer.
-
- (See Bar Editor / Options Menu / Paste)
- (See Bar Editor / Select)
- (See Bar Editor / Mark)
-
- For Relative sequences, this indicator reads out in measures, beats, and
- clocks. For Absolute sequences, it reads in hours, minutes, seconds, and
- frames.
-
- D=
-
- This indicator, found just above the transport controls and to the right
- of the T= indicator, can be thought of as the "Duration equals"
- indicator. It is used to display the durations of various things during
- editing. In certain cases, it is also used as a transposition indicator.
-
- This indicator has three uses as a duration indicator. First, it shows
- the duration of the current event. Second, while in Mark mode, it shows
- the duration of a region of time being marked. Third, while in Select
- mode, it shows the time inside the Select box as the box is extended.
-
- When being used as a duration indicator, this indicator reads out in
- measures, beats, and clocks for Relative sequences, and hours, minutes,
- seconds, and frames for Absolute sequences.
-
- During paste operations, this indicator is temporarily used to show the
- transposition of the clip when it is being positioned in the score. In
- this case it reads out in the number of halfsteps away from the original
- key.
-
- (See Bar Editor / Mark)
- (See Bar Editor / Select)
- (See Bar Editor / Options Menu / Paste)
-
- TRANSPORT CONTROLS
- The transport controls in the Bar Editor work similarly to the transport
- controls in the Sequencer Page. However, there are no fast forward or or
- rewind buttons in the Bar Editor. Instead, the score window itself is
- repositioned using a scroll bar. Following are descriptions of the
- Transport Controls in the Bar Editor.
-
-
- ***************** ***************** ***************** *************
- * PAUSE * * > PLAY * * 0 RECORD * * [] STOP *
- ***************** ***************** ***************** *************
-
- Illustration 7.l3: Transport Controls.
-
- PAUSE
- (SPACE BARfrom the keyboard)
-
- PAUSE is used during playback, currently playing notes are temporarily
- held, and finish naturally when PAUSE is released.
-
- If PAUSE is used while recording, the clock stops but the recording
- process does not. This feature is used with the STEP button to implement
- step recording.
-
- (See Bar Editor / Recording Modes (below)).
-
- PLAY
- ("P" from the keyboard)
- (ESC (Escape key) = All notes off)
- (SHIFT-ESC = Super All notes off)
-
- In the Bar Editor, clicking PLAY will locate the clock to the beginning
- of the portion of the sequence currently shown in the window and begin
- playing from there. In other words, the clock will start at (and the
- green Time Line will scroll from) the left edge of the window.
-
- If at anytime during play, a "MIDI stuck-on note" happens, remember that
- pressing the Amiga's Escape key (at the upper left corner of the
- keyboard) sends a MIDI "All Notes Off" message. Holding the SHIFT key
- while pressing the escape key initiates "Super All Notes Off", which
- actually sends a MIDI Note Off message for each of the l28 possible notes
- on all l6 MIDI channels.
-
- RECORD
- ("R" from the keyboard)
-
- There are three methods for recording in the Bar Editor: Live Recording,
- Step Recording, and Step Recording with Auto-Step. These methods are
- discussed in the next subchapter.
-
- ***********************************************************
- * OK TO ERASE *
- * WORK BUFFER? *
- * ************ ************* *
- * * NO * * YES * *
- * ************ ************* *
- ***********************************************************
-
- Illustration 7.l4: Record Safety Prompt
-
- If the Edit Buffer is not empty when you click the RECORD button, a
- safety prompt will come up to prevent accidental erasure. Click NO to
- back out safely. Otherwise click YES, or press the RETURN key to begin
- recording.
-
- STOP
- ("S" from the keyboard)
-
- Clicking the STOP button halts the clock and stops any currently playing
- notes. Clicking STOP while in record, adds an End event into the
- sequence at the current clock position.
-
- RECORDING MODES
- There are three ways to record in the Bar Editor: Live recording, Step
- recording, and Step recording with Auto-Step. Each method has its
- strengths. The three methods are discussed below.
-
- LIVE RECORDING
- Live recording in the Bar Editor is basically the same as the recording
- process in the Sequencer Page. However, the options have been scaled
- down. You cannot Punch-In, there are no Count-In Bars, etc. You
- essentially click RECORD and begin playing the mother keyboard. The
- snazzy thing about recording live in the Bar Editor is that you can see
- the notes appear as they are recorded.
-
- Example: Recording in drum fill sequence from within the editor.
-
- Click PARAMS. Then from within the PLAY PARAMETERS window, turn on the
- PLAY IN CONTEXT switch, and drag the START: slider to zero. Click OK to
- close the window.
-
- (See Bar Editor / Params / Play in Context)
-
- Turn on SCROLL in the Tool List.
-
- Manually scross the Graphic Score Window to the beginning of the
- sequence.
-
- Click RECORD. If the sequence is not currently empty, a safety prompt
- will appear to prevent accidental loss. Click NO to back out safely.
- Otherwise, click YES, or press the RETURN key to proceed.
-
- The Record Buffer will be emptied, and the editor will begin recording.
- Other sequences in memory can be heard playing along since we are using
- PLAY IN CONTEXT.
-
- As the parts of the song come up that need drum fills, play the part on
- the mother keyboard or MIDI drum pad.
-
- As each note is received, it will appear in the graphic score window.
- (Attack and Release velocities are not displayed during recording, to
- speed up the display).
-
- When done, click STOP. The sequence may now be edited and eventually
- stored.
-
- STEP RECORDING
- Step recording allows you to manually control the movement of the clock
- during record using the STEP and BACK buttons. That means you can take
- as much time as you need while deciding what notes to play next. It also
- means you can back up if you make a mistake, and correct it right away
- before going on. This can be handy for non-keyboard players. It can
- also be handy for recording difficult or impossible parts. For instance,
- a moving horn section, with spread voicings in l6th notes.
-
- Step recording is implemented with the help of the PAUSE button, and the
- STEP and BACK buttons. The idea is, if PAUSE is clicked before RECORD,
- the editor begins recording but the clock does not move. This is the
- beginning of manual control of the clock. Once the clock is stopped, you
- can take your time about placing your fingers on all the right notes.
- The STEP button then comes into the picture to move the clock ahead in
- controlled increments. Each time STEP is clicked, the clock moves ahead
- by the amount of clocks in the current Grid Size parameter. In other
- words, you are stepping along the Grid points, one at a time. By
- pressing keys at your leisure, and then advancing the clock, you can put
- together music of difficulty beyond your own ability to play.
-
- (See Bar Editor / Grid)
-
- WORKING WITH DURATIONS
- Each time a note is pressed or released, that action gets recorded at
- the current clock position. If you press and release the same keys at
- the same clock position, the new notes will have no duration. The way to
- do it is; press and hold a key, advance the clock, then release the key.
- The more times you advance the clock while the key is held, the longer
- the resulting duration will be.
-
- The BACK button is used if you make a mistake, to erase the last note
- played. Each time you click the BACK key, the most recent note is
- erased. Clicking BACK repeatedly continues to erase notes. As notes are
- erased, the clock is also rewound to the point at which the last erased
- note was before it was erased.
-
- *Note: If your mother keyboard is set up away from the Amiga, or you
- just find it awkward to use the mouse while recording, a Keymap can be
- used to set up one or more notes on the mother keyboard (the bottom or
- top notes are usually the andiest) to trigger the Music-X command TIME
- STEP which is the equivalent of clicking the STEP button in the Editor
- Pages.
-
- (See Keymap Editor / Action List / Music-X Command / Time Step)
-
- Example: Using Step Mode to record a walking bass part.
-
- Use the SET GRID SIZES window to set the Grid Size to quarter notes.
-
- Manually scroll the sequence to the beginning.
-
- Click PAUSE to freeze the clock.
-
- Click RECORD. If the sequence is not currently empty, a safety prompt
- will appear to prevent accidental loss. Click NO to back out safely.
- Otherwise, click YES or press the RETURN key to proceed.
-
- The Record Buffer will be emptied, and the editor will begin
- recording. The clock will not move however, since PAUSE is on.
-
- Click STEP, or press the ")" (right bracket) key, to step the clock
- forward by one quarter note. The note now has some duration, and will
- appear in the score window.
-
- Release the note on the mother keyboard. We have just recorded a Note
- Off on beat two of the sequence, creating a full Note event with a
- duration of one quarter note.
-
- Repeat the last three steps for each note in the bass line. (Press the
- note, advance the clock, release the note)
-
- To record a rest, advance the clock by clicking STEP, or pressing the ")"
- (right bracket) key, without pressing a note.
-
- To record a note with a longer duration than the current Grid Size, press
- the note, advance the clock more than once, and release the note.
-
- To record a note of shorter duration than the current Grid Size, open the
- SET GRID SIZES window while in record, and set the Grid Size to the
- desired duration, then continue recording.
-
- STEP RECORDING WITH AUTO-STEP
- Auto-Step mode is enabled by choosing AUTO-STEP from the Edit menu of
- the Bar Editor. When the menu item appears checked, Auto-Step mode is
- enabled.
-
- (See Bar Editor / Edit Menu / Auto Step)
-
- Auto-Step mode makes it een easier to enter notes when Step recording.
- Auto-Step causes the clock to advance forward in increments of the
- current Grid Size each time a note is released on the mother keyboard.
- This means it is not necessary to click the STEP button each time you
- want the clock to move ahead.
-
- Durations are determined in Auto-Step mode using the current Duration
- parameter setting, as set in the Grid requester. What happens is, when
- you first press a key on the mother keyboard, the beginning of that note
- is recorded at the current clock position. When you release the key,
- that note is assigned the same duration as the current Duration parameter
- set in the Grid requester, and the clock is stepped forward by the amount
- of time in the current Grid Size parameter, also set in the Grid
- requester. The current Grid and Duration sizes may be different. By
- changing the Grid or Duration size while in record mode, one can build a
- melody with many complex rhythms.
-
- Example: Using Auto-Step to record a difficult melody:
-
- Make sure Auto-Step is enabled in the Edit menu (the menu item should
- appear checked).
-
- Click the tool word GRID to open the Grid requester, and set the Grid
- Size and Duration to the value of the first note in the melody. (If you
- are going to play sixteenth note, then set both parameters to sixteenth
- notes.)
-
- Click the PAUSE button to freeze the clock. It will appear highlighted.
-
- Click RECORD. It will appear highlighted.
-
- If the Edit Buffer is not currently empty, a safety prompt will appear to
- prevent accidental loss. Click NO to back out safely. Otherwise, click
- YES to proceed.
-
- Press and release the first note in the melody.
-
- The note will appear in the editor, and the clock will move forward.
-
- Open the Grid requester again and set the Grid Size and Duration to the
- value of the second note in the melody. (If it is the same value then
- you do not need to reset it).
-
- Press and release the second note in the melody.
-
- If you make a mistake, click BACK and play the note again.
-
- Repeat the previous two steps until the melody is finished. Then click
- the STOP button to stop recording.
-
- Chords can also be recorded in Auto-Step mode, as long as all the keys of
- a chord are depressed before any one of them is released.
-
- Example: Using Auto-Step to record a difficult chord passage.
-
- Make sure Auto-Step is enabled in the EDIT menu (the menu item should
- appear checked).
-
- Click the tool word GRID to open the Grid requester, and set the Grid
- Size and Duration to sixteenth notes.
-
- Click the PAUSE button to freeze the clock. It will appear
- highlighted.
-
- Click RECORD. It will appear highlighted.
-
- If the Edit Buffer is not currently empty, a safety prompt will appear to
- prevent accidental loss. Click NO to back out safely. Otherwise, click
- YES to proceed.
-
- Press and hold all the notes of the first chord, one by one, until all
- the chord is complete. Do not release any notes until the chord is
- complete, or the clock will move forward and all the notes will be
- terminated.
-
- Release the notes of the first chord. The chord will appear in the
- editor, and the clock will move forward.
-
- Use the Grid requester to change the current Grid Size and Duration if
- needed.
-
- Press and hold all the notes of the second chord, one by one, until all
- the chord is complete.
-
- Release the notes of the second chord. The chord will appear in the
- editor, and the clock will move forward.
-
- Repeat the previous three steps until all the chord passage is finished.
- Then click the STOP button to stop recording.
-
- CHANNEL SQUARE
- At the bottom of the Bar Editor Page is a small matrix consisting of the
- numbers l through l6. This is the MIDI Channel Square. It has three
- basic functions.
-
- *********************
- * 01 * 02 * 03 * 04 *
- * 05 * 06 * 07 * 08 *
- * 09 * 10 * 11 * 12 *
- * 13 * 14 * 15 * 16 *
- *********************
-
- Illustration 7.l5: Channel Square
-
- The first function is to indicate and change the MIDI channel number of
- the current event. When a new event is grabbed, the channel square will
- highlight the channel number that event is on in white. Choosing other
- MIDI channels, by clicking on the Channel Square, will change the channel
- number for that event.
-
- The second function is to change the MIDI channel numbers of a group of
- selected notes. After selecting one or more events with the SELECT
- function, click on a channel number in the MIDI channel square. All the
- selected events will take on the new MIDI channel assignment.
-
- (See Bar Editor / Select)
-
- The third function of the Channel Square is as a selection tool when
- using the LOCK function. When LOCK is highlighted, the channel square is
- used to set which channels will be locked out of the display. This can
- be handy when editing composite sequences containing events on many MIDI
- channels. Locked channels are shown in red in the Channel Square.
- Events on a locked channel are heard but not seen. Clicking on a locked
- channel in the Channel Square unlocks it.
-
- (See Bar Editor / Select)
-
- STEPANDBACK
- (")" from the keyboard)
- ("(" from the keyboard)
-
- Just to the right of the Channel Square are two buttons labeled STEP and
- BACK. These are used during Step recording to advance or rewind the
- clock. The editor must be in record mode, with the PAUSE button on.
-
- STEP and BACK are designed to be used during Record only and have no
- audible effect during Play or when the clock is stopped.
-
- When STEP is clicked during Step record, the clock will move forward in
- increments of the current Grid Size, as set in the GRID requester. For
- example if the current Grid Size is set to a sixteenth note the STEP
- button will advance the clock by one sixteenth note (48 clocks) each time
- it is clicked.
-
- When BACK is clicked during Step record, the last note recorded will be
- erased, and the clock will be moved back to the beginning of that note.
- If the last note erased is one of multiple Notes with the same start
- times, the clock will not be moved back until all of them have been
- erased by clicking the BACK button repeatedly. This can be handy during
- Step record when adding in the notes of a chord one by one. If you make
- a mistake, click BACK to erase only the most recently played note, and
- try it again.
-
- Use the Grid requested to set the Grid Size and determine how much the
- clock will move each time STEP is clicked.
-
- (See Bar Editor / Grid)
-
- *Note: Using a Keymap, one or more keys on the mother keyboard can be
- set up to trigger the Music-X command TIME STEP which is equivalent to
- clicking the STEP button. The clock can also be automatically advanced
- in response to notes played on the mother keyboard during record, using
- AUTO-STEP mode.
-
- (See Keymap Editor / Action List / Music-X Command / Time Step)
- (See Bar Editor / Edit Menu / Auto-Step)
- (See Bar Editor / Recording Modes / with Auto-Step)
-
- VIRTUALSLIDERS
-
- **********************
- NT * 064 *
- **********************
- AVL * 064 *
- **********************
- RVL * 064 *
- **********************
-
- Illustration 7.l6: Virtual Sliders
-
- In the bottom right corner of the Bar Editor Page are three virtual
- sliders. These sliders have a number bar where most sliders have a drag
- bar. This means they can be used to both indicate a value, and change
- that value.
-
- In the Bar Editor, these sliders are provided to give quick access to
- some of the parameters in the current event. Each time a new event is
- grabbed, the sliders reconfigure themselves to the parameters of that
- kind of event. Their names and ranges change automatically. The basic
- process when editing events is to first click on an event, then adjust
- the sliders.
-
- (See Bar Editor / Event Types)
-
- Coarse changes in a slider's value are made by grabbing and dragging the
- number bar. Fine changes are made by clicking on either side of the
- number bar (within the slider's field of travel) to increase or decrease
- its value.
-
- *Note: When first entering the Bar Editor, the virtual sliders will
- appear dormant (having no associated parameters or names). This is
- because they auto-configure to the current event, and since no current
- event is chosen, they have nothing to configure to. When there is no
- current event, the sliders should be ignored.
-
- GRID:ANDDUR:
- These two indicators, found just underneath the virtual sliders, show
- the current Grid Size and Duration in clocks (l/92 quarter note), as set
- in the Grid Requester. Since these numbers are used constantly by the
- software when Adding or Inserting new events or when Quantizing or when
- SNAP is on, it is handy to be able to see what they are. These
- indicators cannot be changed directly, you must change their values from
- within the Grid requester.
-
- (See Bar Editor / Grid)
-
- End.
-